编译器错误 CS0450
更新: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 { }
}