static void Test1() { Console.WriteLine("--- Test1"); A1 a = new A2(); Console.WriteLine(((I1)a).Foo(1, 1)); Console.WriteLine(((A <int, int>)a).Foo(2, 2)); }
static void Test2() { Console.WriteLine("--- Test2"); A1 a = new A2(); Console.WriteLine(((I2)a).Foo <int>(2, 2)); Console.WriteLine(((I2)a).Foo <string>(3, "aaa")); }