命名空间和类冲突(?)

时间:2010-05-07 08:58:53

标签: c#

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

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

3 个答案:

答案 0 :(得分:11)

尝试global::Globals.X.StaticMember

而Globals是邪恶的!

答案 1 :(得分:8)

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

答案 2 :(得分:2)

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

  

“不要对命名空间使用相同的名称,也不要在该命名空间中使用类型”。

请参阅此处了解各种帖子:

  

Do not name a class the same as its namespace Part 1Part 2Part 3Part 4