C# 如何通过传入泛型类型来返回泛型类型的类
我有一个使用泛型类型的类C# 如何通过传入泛型类型来返回泛型类型的类,c#,generics,C#,Generics,我有一个使用泛型类型的类 public class BaseClass<T> { public T Data { get; set; } public BaseClass(T data) { this.Data = data; } public BaseClass() { } } 公共类基类{ 公共T数据{get;set;} 公共基类(T数据){ 这个。数据=数据; } 公共基类(){} } 我想创建一个返回基类对象的方法,因此我尝试以下方法: publi
public class BaseClass<T> {
public T Data { get; set; }
public BaseClass(T data) {
this.Data = data;
}
public BaseClass() { }
}
公共类基类{
公共T数据{get;set;}
公共基类(T数据){
这个。数据=数据;
}
公共基类(){}
}
我想创建一个返回基类
对象的方法,因此我尝试以下方法:
public BaseClass<T> NoData() {
return new BaseClass<T>(null);
}
公共基类NoData(){
返回新的基类(null);
}
并用类似于return NoData()的东西调用它代码>
我发现
有一个错误,找不到类型或命名空间“T”
在c#中可以这样做吗?谢谢 您只需向方法名称添加一个泛型参数:
public BaseClass<T> NoData<T>() {
return new BaseClass<T>(null);
}
由于您有一个默认构造函数,它基本上做相同的事情,因此您也可以这样做:
public BaseClass<T> NoData<T>() {
return new BaseClass<T>();
}
公共基类NoData(){
返回新的基类();
}
您只需在方法名称中添加一个通用参数:
public BaseClass<T> NoData<T>() {
return new BaseClass<T>(null);
}
由于您有一个默认构造函数,它基本上做相同的事情,因此您也可以这样做:
public BaseClass<T> NoData<T>() {
return new BaseClass<T>();
}
公共基类NoData(){
返回新的基类();
}
但由于T可以是任何类型:返回新的基类(默认值(T));但由于T可以是任何类型:返回新的基类(默认值(T));