我有以下问题:如何设置/创建泛型实例?
class Request<T>
{
private T sw;
public Request()
{
//How can i create here the instance like
sw = new T();
}
}
是有可能做到的呢?
我有以下问题:如何设置/创建泛型实例?
class Request<T>
{
private T sw;
public Request()
{
//How can i create here the instance like
sw = new T();
}
}
是有可能做到的呢?
添加new约束:
class Request<T> where T : new() {
private T sw;
public void Request() {
sw = new T();
}
}
这告诉编译器T
将始终有一个可访问的无参数构造函数(不,你不能指定任何其他类型的构造函数)。
您需要在类声明中声明约束where T : new()
。这限制了T
使用公共默认构造函数的类型。例如:
class Request<T> where T : new()
{
private T sw;
public Request()
{
sw = new T();
}
}
谢谢,一个例子会非常有帮助。 – Racooon
@VuralAcar - 没问题,用例子更新。 –
感谢您的正确和快速的答案。 – Racooon