Hay una paradoja en la descripción de la excepción: El objeto 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;
}
ejecutando este código
DateTimeExtended res = new DateTimeExtended(oldDTE);
lanza una InvalidOperationException
con el mensaje:
El objeto nulo debe tener un valor.
myNewDT.MyDateTime.Value
- es válido y contiene un objeto DateTime
normal.
¿Qué significa 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.
Prueba a quitar el .value
DateTimeExtended(DateTimeExtended myNewDT)
{
this.MyDateTime = myNewDT.MyDateTime;
this.otherdata = myNewDT.otherdata;
}