我注意到有人在C#中做过这个 - 注意新的()
public class MyClass<T> where T: new(){
//etc
}
Run Code Online (Sandbox Code Playgroud)
这实现了什么?
Jar*_*Par 10
这会将泛型约束MyClass<T>为仅适用于T具有可用无参数构造函数的实例.这允许您在类型中安全地使用以下表达式
new T()
Run Code Online (Sandbox Code Playgroud)
如果没有new约束,则不允许这样做,因为CLR无法验证类型T是否具有适用的构造函数.