更新:2007 年 11 月

错误消息

“Type Parameter Name”: 不能既指定约束类又指定“class”或“struct”约束

如果类型参数受 struct 类型约束的约束,则它也受特定 class 类型的约束在逻辑上是矛盾的,因为 struct 和 class 属于互相排斥的类别。如果类型参数受特定 class 类型约束的约束,则按照定义它应该受 class 类型约束的约束,因此指定 class 类型约束是多余的。

示例

 复制代码
// CS0450.cs
// compile with: /t:library
public class GenericsErrors 
{
    public class B { }
    public class G3<T> where T : struct, B { } // CS0450
// To resolve, use the following line instead:
// public class G3<T> where T : B { }
}