【问题标题】:Compilation Error -The call is ambiguous between the following methods or properties编译错误 - 以下方法或属性之间的调用不明确
【发布时间】:2014-04-08 05:16:54
【问题描述】:

我有一个组件类,它是一个单例类。 为了访问单例实例,我这样做:

instance = new Global(); 

并返回实例。构造函数是私有的。全局类是public seal class

现在我将一个图像列表控件放到这个组件类的设计器上,并且生成了 Designer.cs 文件。设计器文件中的全局类是internal class

现在我在instance = new Global() 行收到此错误。以下方法或属性之间的调用不明确。

我错过了什么??

【问题讨论】:

  • 你能显示完整的错误消息,以及它发生的完整代码行吗?
  • 提供足够的代码让我们能够复制问题。

标签: c# winforms


【解决方案1】:

它只是意味着它可以找到两种称为 Global 的类型,它不知道该使用哪一种。

当在两个命名空间中找到一个类时,通常会发生这种情况,两个命名空间都包含在文件中。

有几种方法可以解决这个问题:

  • 创建时指定完整的命名空间,如new The.Full.Namespace.Global()
  • 或者创建一个namespace alias 并使用它指定。

    using shortendName = The.Full.Namespace.;
    new shortendName.Global();

  • 或者通过删除其中一个命名空间来消除混淆(当然,如果你需要这两个是不合适的)

【讨论】:

    猜你喜欢
    • 2011-10-04
    • 2010-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-09
    • 2020-01-19
    相关资源
    最近更新 更多