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

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

在C ++中,似乎这样做的方法是使用:: ,而在Java中有一些叫做global ::如何在C#中实现呢?

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

 global::Environment 

在MSDN上查看更多信息。 另见::运算符。

您也可以为它创建别名:

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

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

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

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

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