C# 奇怪的编译错误

C# 奇怪的编译错误,c#,visual-studio-2010,visual-studio,C#,Visual Studio 2010,Visual Studio,我在下一次代码编译时遇到了一个奇怪的错误 using System; public class Tree<T> : IComparable<Tuple<double, T>> { public int CompareTo(Tuple<double, T> other) { return 0; } } 使用系统; 公共类树:IComparable { 公共整数比较(元组其他) { 返回0; } } 提供的

我在下一次代码编译时遇到了一个奇怪的错误

using System;

public class Tree<T> : IComparable<Tuple<double, T>>
{
    public int CompareTo(Tuple<double, T> other)
    {
        return 0;
    }
}
使用系统;
公共类树:IComparable
{
公共整数比较(元组其他)
{
返回0;
}
}
提供的泛型参数的数量不等于 泛型类型定义。参数名称:实例化

  • 这个错误只发生在我的项目中。在新项目中成功编译了相同的代码
  • Tuple
    替换为
    Tuple
    也可以成功编译

我假设该项目中没有其他代码?也许您在某处有一个自定义的
Tuple
类型。。。?您的项目中的目标框架是什么?@Avi该项目中还有很多其他代码。没有其他代码的项目编译成功。@nemesv没有我自己的
元组。目标框架是.NET v4。提到的错误很可能是由
Type.MakeGenericType
调用引发的。所以问题是,你是否有一些在编译时运行的代码可以调用
类型。MakeGenericType
例如,你是否使用PostSharp或其他IL组件,你是否有一些在编译时重新生成的T4模板等?我假设该项目中没有其他代码?也许你在某个地方有一个自定义的
元组
类型。。。?您的项目中的目标框架是什么?@Avi该项目中还有很多其他代码。没有其他代码的项目编译成功。@nemesv没有我自己的
元组。目标框架是.NET v4。提到的错误很可能是由
Type.MakeGenericType
调用引发的。所以问题是,你是否有一些在编译时运行的代码可以调用
类型。MakeGenericType
例如,你是否使用PostSharp或其他IL组件,你是否有一些在编译时重新生成的T4模板等?