No es paradoja en la descripción de excepción: objeto anulable debe tener un valorobjeto anulable debe tener un valor
Este es el problema (?!):
tengo una clase DateTimeExtended
, que tiene
{
DateTime? MyDataTime;
int? otherdata;
}
y un constructor
DateTimeExtended(DateTimeExtended myNewDT)
{
this.MyDateTime = myNewDT.MyDateTime.Value;
this.otherdata = myNewDT.otherdata;
}
ejecutar este código
DateTimeExtended res = new DateTimeExtended(oldDTE);
emite una InvalidOperationException
con el mensaje:
objeto anulable debe tener un valor.
myNewDT.MyDateTime.Value
- es válido y contiene un objeto normal DateTime
.
¿Cuál es el significado de este mensaje y qué estoy haciendo mal?
Tenga en cuenta que oldDTE
no es null
. He eliminado el Value
de myNewDT.MyDateTime
pero se lanza la misma excepción debido a un setter generado.
¿Cuál es el otro constructor? –
Extraño. Reproduzco la excepción con .Value allí, y no obtengo ninguna excepción sin el .Value allí. ¿Seguro que estás ejecutando el código actualizado? – Yuliy
El constructor toma una instancia de sí mismo. ¿Cómo estás creando esa primera instancia? –