命名空间和类冲突(?)

对于这个问题,这是一个糟糕的标题,但我不太确定一个更好的标题。

我有一个名为Globals的命名空间,其中包含一个类X. 我还有一个名为Globals的课程。 当我尝试访问Globals.X.StaticMember时,它尝试访问Globals.X类并抱怨X不存在。 如何引用命名空间Globals – 即:: Globals.X.StaticMember(::不编译)。

尝试global::Globals.X.StaticMember

而Globals是邪恶的!

Eric Lippert最近在博客上写了这篇文章。 四篇博文不少, 请查看 。 从第一部分开始。

Eric Lippert最近有一系列博客文章描述了在为类和名称空间使用相同名称时遇到的问题,并在第3.4节中的框架设计指南中解释了这一说法:

“不要在命名空间和名称空间中使用相同的名称”。

请看这里的各种post:

不要将类命名为与其命名空间相同 ( 第1 部分 , 第2 部分 , 第3 部分 , 第4部分 )