(to == null) w C #!

Z powodu błędu, który został naprawiony w C # 4, drukuje się następujący programtrue. (Spróbuj w LINQPad)

void Main() { new Derived(); }

class Base {
    public Base(Func<string> valueMaker) { Console.WriteLine(valueMaker()); }
}
class Derived : Base {
    string CheckNull() { return "Am I null? " + (this == null); }
    public Derived() : base(() => CheckNull()) { }
}

W VS2008 w trybie Release wysyła wyjątek InvalidProgramException. (W trybie debugowania działa poprawnie)

W VS2010 Beta 2 nie kompiluje się (nie próbowałem Beta 1); Nauczyłem się tego na własnej skórze

Czy jest jakiś inny sposóbthis == null w czystym C #?

questionAnswers(6)

yourAnswerToTheQuestion