十进制扩展方法有歧义

本文关键字:歧义 方法 扩展 十进制 | 更新日期: 2023-09-27 18:12:47

我为十进制的AsCurrency(这个十进制的金额)创建了一个扩展方法

当我编译时会得到一个错误

调用在以下方法或属性之间是二义性的:"CurrencyHelper.AsCurrency(十进制)的和"CurrencyHelper.AsCurrency(十进制)'

有地狱?如果我清除溶液,它又会重新生成。下次它还会失败。

是十进制的问题还是我的解决方案出了问题?

有人遇到同样的问题吗?

编辑

扩展位于一个程序集中。CurrencyHelper只有一个定义。

代码如下:

public static class CurrencyHelper
{
    public static string AsCurrency(this decimal amount)
    {
        return ((decimal?) nr).AsCurrency();
    }
    public static string AsCurrency(this decimal? amount)
    {
        var cultureInfo = ...
        return (nr ?? 0).ToString("c2", cultureInfo);
    }
}

这个想法是用所需的cultureinfo格式化十进制值,如果amount为null,仍然提供0

十进制扩展方法有歧义

好的。问题解决了

似乎是我们团队中有人添加了对项目本身的引用。谢谢你的提示,Hans