代码之家  ›  专栏  ›  技术社区  ›  JoelFan

在C中显式引用没有命名空间的类#

  •  28
  • JoelFan  · 技术社区  · 14 年前

    我使用的代码有一个类 环境 不在任何命名空间中。不幸的是,如果我在一个导入 系统 命名空间,无法引用调用的自定义类 环境 . 我知道这是一个不幸的选择,应该重构,但是有没有任何方法可以明确地引用冲突类?

    在C++中,这样做的方法是通过使用 :: 在Java中有一种叫做 全球的:: 我该怎么用C语言?

    3 回复  |  直到 12 年前
        1
  •  40
  •   Oded    14 年前

    C还具有全局(或未命名)命名空间-您可以使用 global:: 要访问您的类:

    global::Environment 
    

    更多见 MSDN . 也看到 :: 操作员。

    您也可以为它创建别名:

    using myEnv = global::Environment;
    using sysEnv = System.Environment;
    
        2
  •  2
  •   Kristian Hebert    12 年前

    应该是 global::Environment 就像Java一样

        3
  •  1
  •   Konrad Rudolph    14 年前

    我使用的代码有一个名为environment的类,该类不在任何命名空间中

    你应该彻底改变这一点。或者,如果它不是您的代码,请提交错误报告并推迟使用,直到修复错误。不使用名称空间“那是绝对禁止的。

    (尽管@oded发布了油井作业方案。)