Generics C#

using System;
// Gen has two type arguments and both have
// a where clause.
class Gen where T : class
                where V : struct {
  T ob1;
  V ob2;
  public Gen(T t, V v) {
    ob1 = t;
    ob2 = v;
  }
}
class Test {
  public static void Main() {
    Gen obj = new Gen("test", 11);
    // The next line is wrong because bool is not
    // a reference type.
//    Gen obj = new Gen(true, 11);
  }
}