例如,在Java中,如果我有一个参数化类,是否可以执行以下操作?
public class MyClass<T>{
public void aMethod {
..
T object = new T();
..
}
..
}
在Java中,我认为这是不可能的,因为编译器不知道要调用什么构造函数。但在 C# 中呢?我不懂这种语言,而且我读到可以做很多黑暗的事情,所以我只是想知道..
最佳答案
如果您对 T 类型设置约束以具有无参数构造函数,则在 C# 中这是可能的。
public class MyClass<T> where T:new(){
public void aMethod {
..
T object = new T();
..
}
..
}
参见here .
关于c# - 是否可以在 Java 或 C# 中实例化泛型类型的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1578290/