(this == null) in C #!

Aufgrund eines Fehlers, der in C # 4 behoben wurde, wird das folgende Programm gedruckttrue. (Probieren Sie es in 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()) { }
}

In VS2008 im Release-Modus wird eine InvalidProgramException ausgelöst. (Im Debug-Modus funktioniert es einwandfrei)

In VS2010 Beta 2 wird es nicht kompiliert (ich habe Beta 1 nicht ausprobiert). Das habe ich auf die harte Tour gelernt

Gibt es einen anderen Weg zu machenthis == null in reinem c #?

Antworten auf die Frage(5)

Ihre Antwort auf die Frage