У описі винятків є парадокс: об'єкт Nullable повинен мати значення (?!)
Це проблема:
У мене є DateTimeExtended
клас, який є
{
DateTime? MyDataTime;
int? otherdata;
}
і конструктор
DateTimeExtended(DateTimeExtended myNewDT)
{
this.MyDateTime = myNewDT.MyDateTime.Value;
this.otherdata = myNewDT.otherdata;
}
працює цей код
DateTimeExtended res = new DateTimeExtended(oldDTE);
кидає InvalidOperationException
з повідомленням:
Зменшуваний об'єкт повинен мати значення.
myNewDT.MyDateTime.Value
- дійсна і містить звичайний DateTime
об'єкт.
У чому сенс цього повідомлення і що я роблю неправильно?
Зауважте, що oldDTE
це не так null
. Я вилучив Value
з, myNewDT.MyDateTime
але той самий виняток викинуто через створений сетер.