User
static void Main() { var foo = "foo"; foo = 5; } // ... class var { public static implicit operator var(string x) { return null; } public static implicit operator var(int x) { return null; } }
class Foo { public Bar Bar; } class Bar { public int Value; } static void Main() { var foo = new Foo() {Bar = {Value = 5}}; }
github.com/nlkl/Optional
Код ниже компилируется (пример от Джона Скита):
Инициализаторы без new:
никак не пойму, в чем подвох :)