C'è un paradosso nella descrizione dell'eccezione: l'oggetto Nullable deve avere un valore (?!)
Questo è il problema:
Ho una DateTimeExtendedlezione, quello ha
{
DateTime? MyDataTime;
int? otherdata;
}
e un costruttore
DateTimeExtended(DateTimeExtended myNewDT)
{
this.MyDateTime = myNewDT.MyDateTime.Value;
this.otherdata = myNewDT.otherdata;
}
in esecuzione questo codice
DateTimeExtended res = new DateTimeExtended(oldDTE);
genera un InvalidOperationExceptionmessaggio con:
L'oggetto nullable deve avere un valore.
myNewDT.MyDateTime.Value- è valido e contiene un DateTimeoggetto normale .
Qual è il significato di questo messaggio e cosa sto facendo di sbagliato?
Nota che oldDTEnon lo è null. Ho rimosso il Valueda myNewDT.MyDateTimema la stessa eccezione viene generata a causa di un setter generato.