A>var bicycle = TryGetBicycle(); A>if (bicycle != null) или просто [cs] dynamic boo = getboo(); foo(boo); void foo(A b); void foo(B b); void foo(C b); void foo(object b);