我有一个通用类 - Class1<T>
,
和普通班级 - Class2
。
我想在Class2中创建一个将Class1作为参数的泛型方法。 我试着这样做:
void DoSomething<T>(Class1<T> data) {
...
}
但是我收到了一个错误:
错误25:类型&#39; T&#39;必须是参考类型才能将其用作参数&#39; T&#39;通用类型或方法&#39;
Class1<T>
&#39;。
我该怎么做?
答案 0 :(得分:4)
听起来你对where T : class
有一个Class<T>
限制,所以你只需要修改方法签名来匹配:
void DoSomething<T>(Class1<T> data) where T : class
答案 1 :(得分:0)
我认为您需要定义Class1<T>
,如下所示:
public class Class1<T> where T : class // here `T` is regarded as a reference type
{
}