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

时间:2010-05-04 18:03:50

标签: c# .net namespaces

我正在使用的代码有一个名为 Environment 的类,它不在任何名称空间中。不幸的是,如果我在导入 System 命名空间的类中,则无法引用名为 Environment 的自定义类。我知道这是一个不幸的选择,应该重构,但是有什么方法可以明确地引用冲突的类吗?

在C ++中,似乎这样做的方法是使用 :: ,而在Java中有一些名为 global :: 的内容我如何在C#中执行此操作?

3 个答案:

答案 0 :(得分:40)

C#还有一个全局(或未命名)命名空间 - 您可以使用global::访问您的班级:

global::Environment 

有关MSDN的详情,请参阅。另请参阅::运算符。

您也可以为它创建别名:

using myEnv = global::Environment;
using sysEnv = System.Environment;

答案 1 :(得分:2)

应该像Java一样global::Environment

答案 2 :(得分:1)

  

我正在使用的代码有一个名为Environment的类,它不在任何名称空间

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

(尽管@Oded发布了一个运作良好的解决方案。)