如题c#中一个类继承class是什么含义?如publicclassA:class{}更新谢谢@边城狂人,问题的由来是这样的,我在某个地方看到过一段代码,大体是:publicclassAwhereT:class{}我将这个泛型约束理解成了普通的类继承,所以才提出上面错误的问题。@HSFZXJY我不认为这是一个特别基础的问题,sf上不应该只是写高冷的文章和问答,基础的问题不应该被忽视。问题重新修改为:如何理解泛型类的如下约束?publicclassAwhereT:class{}
2 回答
MM们
TA贡献1886条经验 获得超2个赞
泛型约束就好说了嘛,在泛型类型定义之后(class中或者method中)使用where约束泛型类型,有点像继承的语法。可以直接参考微软的类型参数的约束(C#编程指南)约束说明whereT:struct类型参数必须是值类型。可以指定除Nullable以外的任何值类型。有关更多信息,请参见使用可以为null的类型(C#编程指南)。whereT:class类型参数必须是引用类型;这一点也适用于任何类、接口、委托或数组类型。whereT:new()类型参数必须具有无参数的公共构造函数。当与其他约束一起使用时,new()约束必须最后指定。whereT: 类型参数必须是指定的基类或派生自指定的基类。whereT: 类型参数必须是指定的接口或实现指定的接口。可以指定多个接口约束。约束接口也可以是泛型的。whereT:U为T提供的类型参数必须是为U提供的参数或派生自为U提供的参数。
添加回答
举报
0/150
提交
取消