Il y a paradoxe dans la description d'exception: objet Nullable doit avoir une valeurobjet nullable doit avoir une valeur
Ceci est le problème (?!):
J'ai une classe DateTimeExtended
, qui a
{
DateTime? MyDataTime;
int? otherdata;
}
et un constructeur
DateTimeExtended(DateTimeExtended myNewDT)
{
this.MyDateTime = myNewDT.MyDateTime.Value;
this.otherdata = myNewDT.otherdata;
}
exécuter ce code
DateTimeExtended res = new DateTimeExtended(oldDTE);
jette un InvalidOperationException
avec le message:
objet Nullable doit avoir une valeur.
myNewDT.MyDateTime.Value
- est valide et contient un objet DateTime
normal.
Quelle est la signification de ce message et qu'est-ce que je fais de mal?
Notez que oldDTE
n'est pas null
. J'ai supprimé le Value
de myNewDT.MyDateTime
mais la même exception est levée en raison d'un setter généré.
Quel est l'autre constructeur? –
Étrange. Je reproduis l'exception avec le .Value là, et n'obtiens aucune exception sans le .Value là. Etes-vous sûr que vous utilisez le code mis à jour? – Yuliy
Le constructeur prend une instance de lui-même. comment créez-vous cette première instance? –