编译器错误 CS0406
类类型约束 “constraint” 必须位于任何其他约束之前
当泛型类型或方法具有类类型约束时,必须先列出该约束。 若要避免此错误,将此类类型约束移动到约束列表的开头。
以下示例生成 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