Generics C#

using System;
class A {
}
class B : A {
}
// Here, V must inherit T.
class Gen where V : T {
}
class Test {
  public static void Main() {
    // This declaration is OK because B inherits A.
    Gen x = new Gen();
    // This declaration is in error because
    // A does not inherit B.
//    Gen y = new Gen();
  }
}