Ada paradoks dalam deskripsi pengecualian: Objek nullable harus memiliki nilai (?!)
Ini masalahnya:
Saya punya DateTimeExtended
kelas, ya sudah
{
DateTime? MyDataTime;
int? otherdata;
}
dan seorang konstruktor
DateTimeExtended(DateTimeExtended myNewDT)
{
this.MyDateTime = myNewDT.MyDateTime.Value;
this.otherdata = myNewDT.otherdata;
}
menjalankan kode ini
DateTimeExtended res = new DateTimeExtended(oldDTE);
melempar InvalidOperationException
dengan pesan:
Objek nullable harus memiliki nilai.
myNewDT.MyDateTime.Value
- valid dan mengandung DateTime
objek biasa .
Apa arti dari pesan ini dan apa yang saya lakukan salah?
Perhatikan oldDTE
tidak null
. Saya telah menghapus Value
dari myNewDT.MyDateTime
tetapi pengecualian yang sama dilempar karena setter yang dihasilkan.