W opisie wyjątku występuje paradoks: Obiekt dopuszczający wartości zerowe musi mieć wartość (?!)
To jest problem:
Mam DateTimeExtended
klasę
{
DateTime? MyDataTime;
int? otherdata;
}
i konstruktor
DateTimeExtended(DateTimeExtended myNewDT)
{
this.MyDateTime = myNewDT.MyDateTime.Value;
this.otherdata = myNewDT.otherdata;
}
uruchomienie tego kodu
DateTimeExtended res = new DateTimeExtended(oldDTE);
rzuca InvalidOperationException
z komunikatem:
Obiekt zerowalny musi mieć wartość.
myNewDT.MyDateTime.Value
- jest ważny i zawiera zwykły DateTime
obiekt.
Jakie jest znaczenie tego przesłania i co robię źle?
Zauważ, że oldDTE
nie jest null
. Usunąłem Value
z, myNewDT.MyDateTime
ale ten sam wyjątek został zgłoszony z powodu wygenerowanego setera.