static void Main(string[] args) { var a1 = new CA1(); var a11 = new CA11(); var a2 = new CA2(); var b1 = new CB1(); var b2 = new CB2(); MD.Foo(a1, b1); MD.Foo(a2, b1); MD.Foo(a1, b2); MD.Foo(a2, b2); MD.Foo(a11, b1); MD.Foo(a11, b2); }
static void Foo(CA2 a, CB2 b) { Console.WriteLine("CA2 CB2"); }