Error del compilador CS0406

Actualización: noviembre 2007

Mensaje de error

La restricción de tipo de clase 'restricción' debe ir delante de cualquier otra restricción
The class type constraint 'constraint' must come before any other constraints

Cuando un método o tipo genérico tiene una restricción de tipo de clase, dicha restricción debe mostrarse primero. Para evitar este error, mueva la restricción de tipo de clase al principio de la lista de restricciones.

Ejemplo

En el código siguiente se genera el error CS0406.

// CS0406.cs
// compile with: /target:library
interface I {}
class C {}
class D<T> where T : I, C {}   // CS0406
class D2<T> where T : C, I {}   // OK