Mega Code Archive
Categories
/
C# Tutorial
/
Generic
A simple demonstration of a base class constraint
Because of the base class constraint, all type arguments passed to Test must have A as a base class. using System; class A { public void hello() { Console.WriteLine("Hello"); } } class B : A { } class C { } class Test
where T : A { T obj; public Test(T o) { obj = o; } public void sayHello() { obj.hello(); } } class MainClass { public static void Main() { A a = new A(); B b = new B(); C c = new C(); Test
t1 = new Test
(a); t1.sayHello(); Test
t2 = new Test
(b); t2.sayHello(); // The following is invalid because // C does not inherit A. // Test
t3 = new Test
(c); // Error! } } Hello Hello