问题标签 [ambiguous-call]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
4088 浏览

c# - 关于 C# 中模糊调用的问题

我有一个问题,这不是一个真正的问题,但让我有点好奇。

我有一个类,里面有两种方法。一种是静态方法,另一种是实例方法。这些方法具有相同的名称。

当我尝试构建我的项目时,我收到一条错误消息:

以下方法或属性之间的调用不明确:“MyApp.BlockHeader.Peek(System.IO.BinaryReader)”和“MyApp.BlockHeader.Peek(System.IO.BinaryReader)”

我知道方法签名实际上是相同的,但我看不出我怎么可能直接从实例成员调用静态方法。

我认为这是有充分理由的,但有人知道这是什么原因吗?

0 投票
6 回答
8262 浏览

java - 方法的Java模棱两可类型?

编辑:结果证明这根本不是代码问题,而是 Groovy Eclipse 插件中的一个错误(http://jira.codehaus.org/browse/GRECLIPSE-373

Eclipse给我一个关于 Java 程序中不明确类型的奇怪错误消息,我真的不明白为什么。我有一个接口,它接受一个通用参数,指示它返回的数据类型。

它的一种实现如下所示:

还有一个 InterfaceA 的容器

这样做会导致“getData is ambiguous”错误。

我被这个难住了。

0 投票
2 回答
1271 浏览

c++ - C++模板和歧义问题

我有一个指针类的子集,如下所示:

最后一个构造函数的目标是允许传递一个Pointer子类,或者基本上任何可以隐式转换为的类型T *。此实际规则仅由构造函数的定义强制执行,编译器无法仅通过声明来确定它。如果我放弃它,并尝试将 a 传递Pointer<Sub>给 的构造函数Pointer<Base>,我会得到一个编译错误,尽管可能通过operator T *().

虽然它解决了上述问题,但它创造了另一个问题。如果我有一个重载函数,其一个重载采用 a Pointer<UnrelatedClass>,另一个采用Pointer<BaseClass>,并且我尝试使用 a 调用它Pointer<SubClass>,我会在两个重载之间产生歧义,当然,目的是调用后一个重载。

有什么建议么?(希望我足够清楚)

0 投票
1 回答
85503 浏览

c# - 避免模​​棱两可的匹配异常

我正在通过反射在类型上调用静态方法Parse,因为我在编译时不知道对象的类型(但是,我知道它有一个Parse方法,采用字符串)。

但是,我得到了一个模棱两可的匹配异常,大概是因为有很多重载的Parse方法,每个方法都采用一个对象(字符串、整数、双精度等)。

如何在我的方法调用中更具体,以确保我到达正确的方法(Parse(string s))并且不会引发异常。

我的代码如下所示:

0 投票
1 回答
3735 浏览

.net - VS2010中的模糊参考错误

我们的库中有一个名为 Action 的类型。我们支持 VS2005、2008,现在也尝试支持 VS2010。当我将包含我们的“Action”类型和“System”的命名空间一起包含在一个文件中并尝试使用它时,它会说我们的 Action 类型和 System.Action 委托之间存在模棱两可的引用调用。这仅在 VS2010 中发生,并且它不会在 VS2008 或 VS2005 中引发错误,即使 Action 委托没有任何改变(命名空间、程序集在 3.5 和 4.0 之间都是相同的)。知道为什么会发生这种情况吗?

更新:

我创建了一个简单的应用程序来重现这个:

Class1.cs:

Class2.cs:

上述代码在 VS2008 中编译良好,但在 VS2010 中抛出错误:“错误 CS0104:'Action' 是 'Namespace1.Action' 和 'System.Action' 之间的模糊引用”

当我使用 VS2010 并以 Framework 3.5 而不是 4.0 为目标时,我得到了同样的错误。

谢谢,尼兰詹

0 投票
6 回答
2489 浏览

c# - C# 中不明确的函数/构造函数调用

以下代码会导致编译器错误,因为它是模棱两可的调用,但如果我们使用object而不是ArrayList没有错误发生问题并且string版本工作正常;你对此有什么解释吗?

0 投票
2 回答
1420 浏览

c# - 如何解决模棱两可的扩展方法?

我有一个 DataTable,我正在尝试使用 System.Linq.Enumerable 上的 AsEnumerable 扩展方法进行枚举。问题是 System.Data.DataTableExtensions 上有一个同名的扩展方法。我需要在我的类中使用这两个命名空间,因此删除其中一个 using 语句不是一种选择。

如何声明我想要 System.Linq.Enumerable 中的 AsEnumerable 方法而不是 System.Data.DataTableExtensions?

0 投票
2 回答
1436 浏览

c# - 为什么我在这里收到“模糊匹配”错误?

我目前正在处理的页面根据他们所在的投资组合搜索各种实体。为了应用其他搜索条件(除了投资组合),页面首先按投资组合获取实体,然后将条件应用于它们,如此处所示:

最后一行将其发送到此代码:

从这里开始,它会抓取那些与投资组合相关的、也符合标准的特定实体。

在我的本地机器上,这工作得很好。它找到实体,并对它们执行标准。但是,在我们的农场中,会显示以下消息:

在打印出来的堆栈跟踪中,它转到上面提到的那些行。所有其他位置都经常被其他进程使用,并且他们之前都没有遇到过这个问题。上面提到的行是唯一不同的地方。

有任何想法吗?

0 投票
7 回答
4989 浏览

c# - 当参数为空时如何解决歧义?

编译以下代码将返回The call is ambiguous between the following methods or properties错误。由于我无法显式转换null为任何这些类,如何解决它?

0 投票
2 回答
346 浏览

c# - 是什么让 Min(byte,int) 调用模棱两可?

根据编译器,我不明白为什么以下内容不明确:

一旦我将 +1 添加到 byte 它就不是