我正在对扩展方法进行以下调用:

database.ExecuteScalar(command).NoNull<string>(string.Empty);

我得到一个错误,指出扩展方法是模棱两可的。

我有两个具有相同代码的dll,它们在不同的命名空间下实现NoNull(string str)

如何显式引用一个名称空间?

如果它是相同的命名空间,我将如何处理?

更新:我无法重写第三方dll。

===============>>#1 票数:74 已采纳

我正在对扩展方法进行以下调用:

database.ExecuteScalar(command).NoNull<string>(string.Empty);

我得到一个错误,指出扩展方法是模棱两可的。

我有两个具有相同代码的dll,它们在不同的命名空间下实现NoNull(string str)

如何显式引用一个名称空间?

如果它是相同的命名空间,我将如何处理?

更新:我无法重写第三方dll。

===============>>#2 票数:25

我正在对扩展方法进行以下调用:

database.ExecuteScalar(command).NoNull<string>(string.Empty);

我得到一个错误,指出扩展方法是模棱两可的。

我有两个具有相同代码的dll,它们在不同的命名空间下实现NoNull(string str)

如何显式引用一个名称空间?

如果它是相同的命名空间,我将如何处理?

更新:我无法重写第三方dll。

===============>>#3 票数:9

我正在对扩展方法进行以下调用:

database.ExecuteScalar(command).NoNull<string>(string.Empty);

我得到一个错误,指出扩展方法是模棱两可的。

我有两个具有相同代码的dll,它们在不同的命名空间下实现NoNull(string str)

如何显式引用一个名称空间?

如果它是相同的命名空间,我将如何处理?

更新:我无法重写第三方dll。

===============>>#4 票数:0

我正在对扩展方法进行以下调用:

database.ExecuteScalar(command).NoNull<string>(string.Empty);

我得到一个错误,指出扩展方法是模棱两可的。

我有两个具有相同代码的dll,它们在不同的命名空间下实现NoNull(string str)

如何显式引用一个名称空间?

如果它是相同的命名空间,我将如何处理?

更新:我无法重写第三方dll。

  ask by Elad Benda translate from so

未解决问题?本站智能推荐:

2回复

扩展方法标记为歧义

我在扩展方法方面遇到麻烦。 另一种方法引起了同样的错误,现在我又遇到了同样的问题。 编译时-Visual Studio将我的扩展方法标记为模糊的。 但是我很确定这是我唯一的实现- 我拥有的扩展方法是- 它是这样使用的- 这是我唯一的实现,我刚刚添加了它,但是VS显示此
10回复

解决扩展方法/ LINQ歧义

我正在为ReSharper 4编写一个加载项。为此,我需要引用几个ReSharper的程序集。 其中一个程序集(JetBrains.Platform.ReSharper.Util.dll)包含System.Linq命名空间,其中包含System.Core已提供的扩展方法的子集。 当我编辑
6回复

通用扩展方法的歧义

我定义了两个接口: 以及这些接口的扩展方法 所有类型都在同一个命名空间中。 由于某些原因,当对从IVector派生的对象调用Add()时,编译器无法确定是使用MatrixExtensions类还是VectorExtensions类中的定义。 将扩展类之一移至其他名称空间可
1回复

方法之间的歧义[重复]

可能重复: 如何消除歧义警告? 我在我的应用程序中使用MS Office Word,使用以下代码: 呼吁: 给: 方法'Microsoft.Office.Interop.Word._Application.Quit(ref object,ref obje
3回复

两个C#扩展泛型方法之间的歧义调用,一个在T:class,另一个在T:struct

考虑两种扩展方法: 和一类: 现在,在上述类的实例上调用extension方法: 编译器说,当我在类上调用该方法时,它是一个模棱两可的调用。 我本以为它可以确定要调用的扩展方法,因为MyClass是类,而不是结构?
1回复

“歧义参考”的错误两次指向同一方法

我使用了这个出色的解决方案将linq查询转换为数据表。 但是我在运行它时遇到了一个奇怪的错误。 虽然构建成功。 我尝试过重新构建它并重新启动IIS。 似乎有两个具有相同方法的类,但是我已经检查过了,事实并非如此。 有任何想法吗? 我正在使用.NET 4.0 ASP.NET
2回复

消除两个同样特定,相同的签名(通用方法)的歧义

考虑以下类别: 如果T1和T2是不同的类型,我们调用Get ,那么编译器就会知道我们的意思是哪一个。 但是,如果类型相等,则这两种方法共享相同的签名。 就过载解析而言,它们是同样特定的(与之相比, 泛型参数与非泛型参数相比 )。 因此,我们不能明确地调用该方法。
4回复

如何在属性getter和带有一个参数的方法之间存在歧义?

我不敢相信我以前从未遇到过这个,但为什么我的代码会出现编译器错误? 这是错误消息: 'FooBar.IsValid'和'FooBar.IsValid(int)'之间的歧义 为什么这个含糊不清? 我认为有两个原因不应该含糊不清: IsConfused后没有
1回复

使用实体框架T4生成的扩展的奇怪歧义调用错误

想知道是否有人可以阐明为什么我遇到此错误。 我目前正在编写一些与实体对象进行交互的代码(使用T4模板生成数据库上下文),尽管IQueryable<T> Include<T>方法仅在此特定数据库上下文的命名空间中定义一次(目前) ,我们将其称为Context A ),
1回复

歧义扩展方法调用

这段代码不会编译: 但是,如果我删除最后一个string参数,一切都很好: 问题是-为什么这些可选的string参数破坏了编译器对方法调用的选择? 补充:澄清的问题:我不明白为什么编译器在第一种情况下不能选择正确的重载,而在第二种情况下可以选择正确的重载? 编辑: [