下面代码中的 new() 做了什么?
public class A<T> where T : B, new()
这是对类的泛型参数的约束,这意味着作为泛型类型传递的任何类型都必须具有无参数构造函数。
So,
public class C : B
{
public C() {}
}
将是一个有效的类型。您可以创建一个新实例A<C>
.
However,
public class D : B
{
public D(int something) {}
}
不会满足约束,并且您将不被允许创建新的实例A<D>
。如果您还向 D 添加了无参数构造函数,那么它将再次有效。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)