У описі винятків є парадокс: об'єкт 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але той самий виняток викинуто через створений сетер.