using System; public class Test { class R { } class A : R { } class B : R { } static void pituh(A x, R y){ Console.WriteLine("A R"); } static void pituh(R x, B y){ Console.WriteLine("R B"); } static void pituh(R x, R y){ Console.WriteLine("R R"); } static void d(R x, R y) { dynamic a = x; dynamic b = y; pituh(a, b); } public static void Main(string[] args) { d(new A(),new R()); d(new A(),new B()); d(new A(),new B()); d(new B(),new A()); } }