Tag: 无效操作

可为空的对象必须有一个值

exception描述中有一个悖论:可为空的对象必须有一个值(?!) 这就是问题: 我有一个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 。 我已经从myNewDT.MyDateTime删除了Value ,但是由于生成的setter会引发同样的exception。