如何在C#中的System.Linq.IEnumerable.ToArray()中解决以下方法或属性之间的歧义?

时间:2016-06-04 07:42:28

标签: c# wpf

Please refer this error image。将 IEnumerable集合转换为 Ranges.ToArray()等数组时,我在以下方法或属性之间出现了模糊错误,其中范围是IEnumerable集合。

2 个答案:

答案 0 :(得分:2)

此错误表示编译器找到了多个具有相同名称和相同输入参数的方法。然后,您可以通过定义您的方法所在的命名空间来确定哪个编译器应该使用。所以而不是:

meEnumerable.ToArray();

您应该执行以下操作:

System.Linq.Enumerable.ToArray(meEnumerable);

这应该可以,但万一它不会,你应该考虑从文件头中删除一个命名空间。

答案 1 :(得分:2)

在您的类中使用了名称空间,有两种ToArray方法具有相同的名称和签名。所以编译器不知道要调用哪一个。 你必须告诉编译器使用哪个。为此,您有两种可能的解决方案。

一个是从.cs文件中删除未使用的命名空间。

其次是在方法名称之前提及命名空间,如下所示。

Ranges.ToArray()替换为 Syncfusion.UI.Xaml.CellGrid.CalcEngineHelper.ToArray(Ranges) 或者 System.Linq.Enumerable.ToArray(Ranges)