例如,如果我有此类:
public class Result<T>
{
}
我想添加一个方法,如:
public class Result<T>
{
void DoStuff(Result<T2> otherResult)
{
if (otherResult.HasErrors)
DoWhatever();
}
}
这是C#中的错误,但我不明白为什么。只要我对另一个Result的T不做任何事情,为什么编译器会介意?
答案 0 :(得分:5)
因为您尚未在任何地方声明T2
。您可以这样做:
void DoStuff<T2>(Result<T2> otherResult)
{
}