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。你到底犯了什么错误?