问题标签 [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.
c# - 关于 C# 中模糊调用的问题
我有一个问题,这不是一个真正的问题,但让我有点好奇。
我有一个类,里面有两种方法。一种是静态方法,另一种是实例方法。这些方法具有相同的名称。
当我尝试构建我的项目时,我收到一条错误消息:
以下方法或属性之间的调用不明确:“MyApp.BlockHeader.Peek(System.IO.BinaryReader)”和“MyApp.BlockHeader.Peek(System.IO.BinaryReader)”
我知道方法签名实际上是相同的,但我看不出我怎么可能直接从实例成员调用静态方法。
我认为这是有充分理由的,但有人知道这是什么原因吗?
java - 方法的Java模棱两可类型?
编辑:结果证明这根本不是代码问题,而是 Groovy Eclipse 插件中的一个错误(http://jira.codehaus.org/browse/GRECLIPSE-373)
Eclipse给我一个关于 Java 程序中不明确类型的奇怪错误消息,我真的不明白为什么。我有一个接口,它接受一个通用参数,指示它返回的数据类型。
它的一种实现如下所示:
还有一个 InterfaceA 的容器
这样做会导致“getData is ambiguous”错误。
我被这个难住了。
c++ - C++模板和歧义问题
我有一个指针类的子集,如下所示:
最后一个构造函数的目标是允许传递一个Pointer
子类,或者基本上任何可以隐式转换为的类型T *
。此实际规则仅由构造函数的定义强制执行,编译器无法仅通过声明来确定它。如果我放弃它,并尝试将 a 传递Pointer<Sub>
给 的构造函数Pointer<Base>
,我会得到一个编译错误,尽管可能通过operator T *()
.
虽然它解决了上述问题,但它创造了另一个问题。如果我有一个重载函数,其一个重载采用 a Pointer<UnrelatedClass>
,另一个采用Pointer<BaseClass>
,并且我尝试使用 a 调用它Pointer<SubClass>
,我会在两个重载之间产生歧义,当然,目的是调用后一个重载。
有什么建议么?(希望我足够清楚)
c# - 避免模棱两可的匹配异常
我正在通过反射在类型上调用静态方法Parse,因为我在编译时不知道对象的类型(但是,我知道它有一个Parse方法,采用字符串)。
但是,我得到了一个模棱两可的匹配异常,大概是因为有很多重载的Parse方法,每个方法都采用一个对象(字符串、整数、双精度等)。
如何在我的方法调用中更具体,以确保我到达正确的方法(Parse(string s))并且不会引发异常。
我的代码如下所示:
.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 为目标时,我得到了同样的错误。
谢谢,尼兰詹
c# - C# 中不明确的函数/构造函数调用
以下代码会导致编译器错误,因为它是模棱两可的调用,但如果我们使用object
而不是ArrayList
没有错误发生问题并且string
版本工作正常;你对此有什么解释吗?
c# - 如何解决模棱两可的扩展方法?
我有一个 DataTable,我正在尝试使用 System.Linq.Enumerable 上的 AsEnumerable 扩展方法进行枚举。问题是 System.Data.DataTableExtensions 上有一个同名的扩展方法。我需要在我的类中使用这两个命名空间,因此删除其中一个 using 语句不是一种选择。
如何声明我想要 System.Linq.Enumerable 中的 AsEnumerable 方法而不是 System.Data.DataTableExtensions?
c# - 为什么我在这里收到“模糊匹配”错误?
我目前正在处理的页面根据他们所在的投资组合搜索各种实体。为了应用其他搜索条件(除了投资组合),页面首先按投资组合获取实体,然后将条件应用于它们,如此处所示:
最后一行将其发送到此代码:
从这里开始,它会抓取那些与投资组合相关的、也符合标准的特定实体。
在我的本地机器上,这工作得很好。它找到实体,并对它们执行标准。但是,在我们的农场中,会显示以下消息:
在打印出来的堆栈跟踪中,它转到上面提到的那些行。所有其他位置都经常被其他进程使用,并且他们之前都没有遇到过这个问题。上面提到的行是唯一不同的地方。
有任何想法吗?
c# - 当参数为空时如何解决歧义?
编译以下代码将返回The call is ambiguous between the following methods or properties
错误。由于我无法显式转换null
为任何这些类,如何解决它?
c# - 是什么让 Min(byte,int) 调用模棱两可?
根据编译器,我不明白为什么以下内容不明确:
一旦我将 +1 添加到 byte 它就不是