using System;
class MyClass {
}
class Test<T> where T : class {
T obj;
public Test() {
// The following statement is legal only
// because T is guaranteed to be a reference
// type, which can be assigned the value null.
obj = null;
}
public void print(){
Console.WriteLine(obj);
}
}
class ClassConstraintDemo {
public static void Main() {
Test<MyClass> x = new Test<MyClass>();
// The next line is in error because int is
// a value type.
// Test<int> y = new Test<int>();
}
}