gpt4 book ai didi

c# - 对扩展方法的调用不明确

转载 作者:行者123 更新时间:2023-11-30 17:06:11 27 4
gpt4 key购买 nike

我的项目中有一个扩展方法一直运行良好:

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;
}
}

现在,当我尝试构建我的项目时,出现此错误:

Error 1699 The call is ambiguous between the following methods or properties: 'BillingFormsApplication.Extensions.IsBetween(double, double, double)' and 'BillingFormsApplication.Extensions.IsBetween(double, double, double)'

Extensions 文件中只有一个IsBetween 方法...并且整个解决方案中只有一个IsBetween 方法。

我尝试清理并重建解决方案。仍然收到错误。

我可以删除扩展并继续,但它在过去非常方便。

为弗雷德里克添加:

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

我想知道我是否将这些数字转换为 Double 是否可以解决问题。我会在一分钟内尝试。喜欢:

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

最佳答案

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

关于c# - 对扩展方法的调用不明确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15686714/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com