title: nullable object must have a value
body: <p>There is paradox in the exception description:
  Nullable object must have a value (?!)</p>
  
  <p>This is the problem:</p>
  
  <p>I have a <code>DateTimeExtended</code> class, 
  that has </p>
  
  <pre><code>{
    DateTime? MyDataTime;
    int? otherdata;
  
  }
  </code></pre>
  
  <p>and a constructor</p>
  
  <pre><code>DateTimeExtended(DateTimeExtended myNewDT)
  {
     this.MyDateTime = myNewDT.MyDateTime.Value;
     this.otherdata = myNewDT.otherdata;
  }
  </code></pre>
  
  <p>running this code</p>
  
  <pre><code>DateTimeExtended res = new DateTimeExtended(oldDTE);
  </code></pre>
  
  <p>throws an <code>InvalidOperationException</code> with the message:</p>
  
  <blockquote>
    <p>Nullable object must have a value.</p>
  </blockquote>
  
  <p><code>myNewDT.MyDateTime.Value</code> - is valid and contain a regular <code>DateTime</code> object.</p>
  
  <p>What is the meaning of this message and what am I doing wrong?</p>
  
  <p>Note that <code>oldDTE</code> is not <code>null</code>. I've removed the <code>Value</code> from <code>myNewDT.MyDateTime</code> but the same exception is thrown due to a generated setter.</p>