where T: 泛型约束,约束类型T必须具有无参的构造函数 表示T必须是class类型或它的派生类。 new()构造函数约束允许开发人员实例化一个泛型类型的对象。 一般情况下,无法创建一个泛型类型参数的实例。然而,new()约束改变了这种情况,要求类型参数必须提供一个无参数的构造函数。 在使用new()约束时,可以通过调用该无参构造函数来创建对象。 基本形式: where T : new()
IClass 也是一个类,呃,1楼的是MSDN上的解释貌似,有没有通俗一点的呢,看的不是很懂
where 加在泛型后面是约束泛型必须有无参构造函数的
可以看<CLR via C#>第三版
必须有无参构造函数的是where T : new()约束,有多个约束时,new约束必须置于最后 对于这里的IClass 如果是类:则表示泛型T必须是该类的子类 如果是接口:则表示T必须实现了该接口
泛型类,里面的T类型的成员必须继承IClassinterfact 我落后啦,没见过这个修饰符
interface 这个是接口,楼主应该是笔误。。 这句的意思是,定义一个泛型类,where 表示对占位符的约束,这里的约束是 T 类型 的成员 必须 继承IClass
泛型约束,约束类型T必须具有无参的构造函数
表示T必须是class类型或它的派生类。
new()构造函数约束允许开发人员实例化一个泛型类型的对象。
一般情况下,无法创建一个泛型类型参数的实例。然而,new()约束改变了这种情况,要求类型参数必须提供一个无参数的构造函数。
在使用new()约束时,可以通过调用该无参构造函数来创建对象。
基本形式: where T : new()
必须有无参构造函数的是where T : new()约束,有多个约束时,new约束必须置于最后
对于这里的IClass
如果是类:则表示泛型T必须是该类的子类
如果是接口:则表示T必须实现了该接口
这句的意思是,定义一个泛型类,where 表示对占位符的约束,这里的约束是 T 类型 的成员 必须 继承IClass