2010-05-07 112 views
7

這是一個錯誤的問題標題,但我不太確定更好的問題。命名空間和類衝突(?)

我有一個叫做Globals的名字空間,裏面有一個類X.我也有一個叫做Globals的班級。當我嘗試訪問Globals.X.StaticMember時,它嘗試訪問Globals.X類並抱怨X不存在。我如何引用命名空間Globals - 即:: Globals.X.StaticMember(::不能編譯)。

回答

11

嘗試global::Globals.X.StaticMember

而Globals是邪惡的!

+2

+1 「全局是邪惡的」。 – OregonGhost 2010-05-07 09:04:50

+5

除了單例和靜態類,它們都是基本的全局變量。 – 2010-05-07 09:11:14

8

Eric Lippert最近在博客中提到這件事。四篇博文不低於,check it out。從第一部分開始。

+0

+1即將鏈接到這個我自己:) – ParmesanCodice 2010-05-07 09:09:37

1

埃裏克利珀最近有一系列的說明運行問題的相關博客文章中使用相同的名稱時,一類和命名空間,說明在3.4節從框架設計指南這種說法到:

「嗎不要爲名稱空間和該名稱空間中的類型使用相同的名稱「。

看到這裏的各個崗位:

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