Demonstrate a value type constraint : Generic Constraint « Generics « C# / C Sharp






Demonstrate a value type constraint


using System;

struct MyStruct {
}

class MyClass {
}

class Test<T> where T : struct {
  T obj;

  public Test(T x) {
    obj = x;
  }
}

class Test {
  public static void Main() {
    Test<MyStruct> x = new Test<MyStruct>(new MyStruct());
    Test<int> y = new Test<int>(10);

    // But, the following declaration is illegal!
//    Test<MyClass> z = new Test<MyClass>(new MyClass());
  }
}
           
       








Related examples in the same category

1.There are five types of constraints:
2.Combination of Overriding Generic Methods
3.A base class constraintA base class constraint
4.Use an interface constraintUse an interface constraint
5.A new() constructor constraint
6.Reference Type Constraint: A reference type constraint restricts a type parameter to a reference type.
7.Demonstrate a reference constraint
8.A type parameter can be used as a constraintA type parameter can be used as a constraint
9.Reference Type ConstraintReference Type Constraint
10.Default Constructor ConstraintDefault Constructor Constraint
11.Derivation Constraint
12.constructor constraint