(это == ноль) в C #!
Из-за ошибки, которая была исправлена в C # 4, следующая программа печатаетtrue
, (Попробуйте в LINQPad)
void Main() { new Derived(); }
class Base {
public Base(Func valueMaker) { Console.WriteLine(valueMaker()); }
}
class Derived : Base {
string CheckNull() { return "Am I null? " + (this == null); }
public Derived() : base(() => CheckNull()) { }
}
В VS2008 в режиме Release он генерирует исключение InvalidProgramException. (В режиме отладки работает нормально)
В VS2010 Beta 2 это нет компилируется (я неt Beta 1); Я узнал, что трудный путь
Есть ли другой способ сделатьthis == null
в чистом C #?