Có nghịch lý trong mô tả ngoại lệ: đối tượng Nullable phải có giá trịđối tượng nullable phải có giá trị
Đây là vấn đề (?!):
Tôi có một lớp DateTimeExtended
, có
{
DateTime? MyDataTime;
int? otherdata;
}
và một constructor
DateTimeExtended(DateTimeExtended myNewDT)
{
this.MyDateTime = myNewDT.MyDateTime.Value;
this.otherdata = myNewDT.otherdata;
}
chạy mã này
DateTimeExtended res = new DateTimeExtended(oldDTE);
ném một InvalidOperationException
với thông điệp:
đối tượng Nullable phải có giá trị.
myNewDT.MyDateTime.Value
- hợp lệ và chứa đối tượng DateTime
thông thường.
Ý nghĩa của thông báo này là gì và tôi đang làm gì sai?
Lưu ý rằng oldDTE
không phải là null
. Tôi đã xóa Value
khỏi myNewDT.MyDateTime
nhưng ngoại lệ tương tự cũng được ném do bộ công cụ được tạo.
các nhà xây dựng khác là gì? –
Lạ. Tôi tái tạo ngoại lệ với .Value ở đó, và không có ngoại lệ mà không có .Value ở đó. Bạn có chắc là bạn đang chạy mã được cập nhật không? – Yuliy
Hàm khởi tạo lấy một cá thể của chính nó. bạn tạo ra ví dụ đầu tiên như thế nào? –