C# 扩展方法上的不明确调用

C# 扩展方法上的不明确调用,c#,C#,我在我的项目上有一个很好的扩展方法: public static class Extensions { public static bool IsBetween<T>(this T value, T low, T high) where T : IComparable<T> { return value.CompareTo(l

我在我的项目上有一个很好的扩展方法:

public static class Extensions
{
    public static bool IsBetween<T>(this T value, T low, T high) 
                                                         where T : IComparable<T>
    {
        return value.CompareTo(low) >= 0 && value.CompareTo(high) <= 0;
    }
}
我想知道我是否把这些数字翻了一番,这样是否能解决问题。我马上就去试试。比如:

if (percentCash.IsBetween((double)0, (double)99))

更有可能的是,您引用的DLL定义了相同的扩展方法,或者在代码中的其他地方定义了相同的扩展方法。尝试在文件中查找
IsBetween
并查看是否出现。如果没有,请查看您引用的DLL,并查看其中一个DLL中是否不存在此扩展。

刚刚注意到方法签名在“where t”之后缺少“IComparable”:这是我在添加问题时的一个拼写错误,但它在代码中。请尝试注释扩展,然后看看intellisence是否仍然能够解决一些
IsBetween
方法也许您从多个DLL中引用了此扩展。您可以在呼叫站点发布代码吗?刚刚为您添加的Frederic。谢谢
if (percentCash.IsBetween((double)0, (double)99))