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