C'è un paradosso nella descrizione dell'eccezione: l'oggetto Nullable deve avere un valore (?!)
Questo è il problema:
Ho una DateTimeExtended
lezione, 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 InvalidOperationException
messaggio con:
L'oggetto nullable deve avere un valore.
myNewDT.MyDateTime.Value
- è valido e contiene un DateTime
oggetto normale .
Qual è il significato di questo messaggio e cosa sto facendo di sbagliato?
Nota che oldDTE
non lo è null
. Ho rimosso il Value
da myNewDT.MyDateTime
ma la stessa eccezione viene generata a causa di un setter generato.