Compiler Error CS0706

Invalid constraint type. A type used as a constraint must be an interface, a non-sealed class or a type parameter.

This error occurs when an invalid construct is used in a constraint clause. To avoid this error, use an interface or non-sealed class instead of the construct that caused the error.

Example

The following sample generates CS0706.

// CS0706.cs
// compile with: /target:library
class A {}
class C<T> where T : int[] {}  // CS0706
class D<T> where T : A {}  // OK