Objecto nulo deve ter um valor

Há um paradoxo na descrição da exceção: Objeto anulável deve ter um valor (?!)

Este é o problema:

eu tenho umDateTimeExtended classe, que tem

{
  DateTime? MyDataTime;
  int? otherdata;

}

e um construtor

DateTimeExtended(DateTimeExtended myNewDT)
{
   this.MyDateTime = myNewDT.MyDateTime.Value;
   this.otherdata = myNewDT.otherdata;
}

executando este código

DateTimeExtended res = new DateTimeExtended(oldDTE);

lança umInvalidOperationException com a mensagem:

Objecto nulo deve ter um valor.

myNewDT.MyDateTime.Value - é válido e contém umDateTime objeto.

Qual é o significado desta mensagem e o que estou fazendo errado?

Observe queoldDTE não énull. Eu removi oValue demyNewDT.MyDateTime mas a mesma exceção é lançada devido a um setter gerado.

questionAnswers(7)

yourAnswerToTheQuestion