1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
class X { public static void Main () { A a = new A (); var x = (a.b?.c?.d as A)?.b; } } class A { public B b { get; set; } } class B { public C c { get; set; } } class C { public D d { get; set; } } class D : A { }