title: (this == null) in C#!
body: <p>Due to a bug that was fixed in C# 4, the following program prints <code>true</code>.  (Try it in LINQPad)</p>
  
  <pre><code>void Main() { new Derived(); }
  
  class Base {
      public Base(Func&lt;string&gt; valueMaker) { Console.WriteLine(valueMaker()); }
  }
  class Derived : Base {
      string CheckNull() { return "Am I null? " + (this == null); }
      public Derived() : base(() =&gt; CheckNull()) { }
  }
  </code></pre>
  
  <p>In VS2008 in Release mode, it throws an InvalidProgramException.  (In Debug mode, it works fine)</p>
  
  <p>In VS2010 Beta 2, it doesn't compile (I didn't try Beta 1); I learned that the hard way</p>
  
  <p>Is there any other way to make <code>this == null</code> in pure C#?</p>