在异常描述中有一个悖论: 可空对象必须有值(?!)
这就是问题所在:
我有一个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不是空的。我已经从myNewDT中删除了值。MyDateTime,但由于生成的setter而抛出相同的异常。