static void Main() { A a = new ca2.A(); B b = new ca2.B(); C c = new ca2.C(); // Следующий код вполне допустим, поскольку класс А указан как базовый. Test <A> t1 = new Test <A>(a); t1.SayHello(); // Следующий код вполне допустим, поскольку класс В наследует от класса А. Test <B> t2 = new Test <B>(b); t2.SayHello(); // Следующий код недопустим, поскольку класс С не наследует от класса А. // Test<C> t3 = new Test<C>(c); // Ошибка! // t3.SayHello(); // Ошибка! }
static void Main() { B ob = new ca2.B(1, 2); ob.Show(); }