当前位置: 代码迷 >> C# >> 泛型的where约束后面跟一个具体的类型,作为基类约束,编译异常
  详细解决方案

泛型的where约束后面跟一个具体的类型,作为基类约束,编译异常

热度:101   发布时间:2016-05-05 03:22:27.0
泛型的where约束后面跟一个具体的类型,作为基类约束,编译错误?
如题,我这样写:

    public class My<T>
        where T : System.Object
    {
        
    }

编译错误是Constraint cannot be special class 'object'.
C#里面并没有一个概念叫做"Special class"啊,这个所谓的Special class编译器是如何判定的呢?
------解决思路----------------------
object不需要你去指明约束,因为所有的东西都继承自object
------解决思路----------------------
Special class 指的是object这个特殊类
------解决思路----------------------
Constraint cannot be special class 'object'.
泛型约束不需要指定具体类型,只需要指定是类,还是接口,是否有无参数构造函数这些。
  相关解决方案