C# 为什么在泛型类中不能有一个接受不同泛型类型参数的方法?
例如,如果我有这个类:C# 为什么在泛型类中不能有一个接受不同泛型类型参数的方法?,c#,generics,C#,Generics,例如,如果我有这个类: public class Result<T> { } 我想添加一个方法,如: public class Result<T> { void DoStuff(Result<T2> otherResult) { if (otherResult.HasErrors) DoWhatever(); } } 这是C语言中的一个错误,但我不明白为什么。只要我不对其他结果做任何事情,编译
public class Result<T>
{
}
我想添加一个方法,如:
public class Result<T>
{
void DoStuff(Result<T2> otherResult)
{
if (otherResult.HasErrors)
DoWhatever();
}
}
这是C语言中的一个错误,但我不明白为什么。只要我不对其他结果做任何事情,编译器为什么会介意呢?因为您还没有在任何地方声明T2。您可以这样做:
void DoStuff<T2>(Result<T2> otherResult)
{
}
因为你还没有申报T2。您可以这样做:
void DoStuff<T2>(Result<T2> otherResult)
{
}
你还没有定义T2。你得到的错误到底是什么?你还没有定义T2。你到底犯了什么错误?