Derivation Constraint : Generic Constraint « Generics « C# / C Sharp






Derivation Constraint

 
using System;

public class Starter {
    public static void Main() {

        // good
        MyClass<XClass, YClass> obj = new MyClass<XClass, YClass>();

        // good
        MyClass<XClass, WClass> obj2 = new MyClass<XClass, WClass>();

        // bad
        MyClass<WClass, YClass> obj3 = new MyClass<WClass, YClass>();

    }
}

public class MyClass<K, V>
    where K : XClass
    where V : YClass {
}

public class XClass {

}

public class YClass {
}

public class WClass : YClass {
}

 








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.Demonstrate a value type constraint
9.A type parameter can be used as a constraintA type parameter can be used as a constraint
10.Reference Type ConstraintReference Type Constraint
11.Default Constructor ConstraintDefault Constructor Constraint
12.constructor constraint