В описании исключения есть парадокс: Нулемый объект должен иметь значение (?!)
В этом проблема:
У меня есть класс DateTimeExtended
который имеет
{
  DateTime? MyDataTime;
  int? otherdata;
}
и конструктор
DateTimeExtended(DateTimeExtended myNewDT)
{
   this.MyDateTime = myNewDT.MyDateTime.Value;
   this.otherdata = myNewDT.otherdata;
}
запуск этого кода
DateTimeExtended res = new DateTimeExtended(oldDTE);
выдает сообщение InvalidOperationException с сообщением:
Nullable object должен иметь значение.
 myNewDT.MyDateTime.Value - действителен и содержит обычный объект DateTime.
В чем смысл этого сообщения и что я делаю неправильно?
Обратите внимание, что oldDTE не null. Я удалил Value из myNewDT.MyDateTime, но одно и то же исключение выдается из-за сгенерированного setter.