¿Cómo la asignación del literal nulo a un tipo System.Nullable <T> es manejada por .Net (C #)?

e preguntaba si alguien sabe cómo maneja el compilador de C # la siguiente asignación:

int? myInt = null;

Mi suposición es que se realiza una conversión implícita, pero no puedo entender cómo se maneja la asignación literal nula. Desmonté el objeto System.Nullable y descubrí que el operador implícito se anula a esto:

public static implicit operator T?(T value)  {
    return new T?(value);  
}

Una vez llamado, intentaría disparar el constructor secundario:

public Nullable(T value) {
    this.value = value;
    this.hasValue = true; 
}

Cuando es donde entra en juego mi confusión ... este valor es de algún tipo de valor y no puede ser nulo.

Entonces, ¿alguien sabe cómo tiene lugar esta "magia" ... o me equivoco al suponer que se llama al constructor secundario? ¿Se llama al constructor predeterminado porque el compilador sabe que no puede hacer coincidir la firma del segundo constructor con el literal nulo (lo que hace que myInt se asigne a un nuevo Nullable "nulo")

Respuestas a la pregunta(5)

Su respuesta a la pregunta