बग जो कि C # 4 में तय किया गया था, निम्नलिखित प्रोग्राम प्रिंट करता है true
। (इसे 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()) { }
}
VS2008 में रिलीज़ मोड में, यह एक InvalidProgramException फेंकता है। (डिबग मोड में, यह ठीक काम करता है)
VS2010 बीटा 2 में, यह संकलन नहीं करता है (मैंने बीटा 1 की कोशिश नहीं की); मैंने वह कठिन रास्ता सीख लिया
क्या this == null
शुद्ध C # बनाने का कोई और तरीका है ?