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 Beta 2에서는 컴파일되지 않습니다 (베타 1을 시도하지 않았습니다). 어려운 방법을 배웠습니다
this == null
순수한 C # 으로 만드는 다른 방법이 있습니까?