簡體   English   中英

C#中的命名問題

[英]Naming issue in C#

我有一個名為“ Core ”的命名空間,它是我項目的主要命名空間。

然后我創建了名為“ Interface ”的新子命名空間,它將包含庫的所有GUI和WPF類。 有很多UserControlWindow的ETC。 同時我有另一個名為“ Interface ”的類,它是一個STATIC類,用於處理和管理Interface命名空間及其功能。 這是為了避免用戶\\開發人員管理他的軟件的GUI,這就是我創建這個靜態類的原因。

所以現在我有一個小問題,當調用靜態類Core.Interface時,編譯器不會在子命名空間和靜態類之間分開,因為它們都具有完全相同的名稱。

我不想更改他們的名字,所以請不要提出任何新名稱。 我只是不知道是否更好地在Interface命名空間內移動Interface類或者只是刪除子命名空間“Interface”並將所有內容移動到主命名空間“Core”,但是那將是一團糟我想要一些嚴格的命令在我的項目中。

那么你建議我做什么?

更新:好的,所以我對這些建議深信不疑。 我將在每種情況下為子命名空間找到新的專有名稱。 並將靜態類保留在主命名空間中,以避免用戶定義子命名空間的使用,只是為了使用每個子命名空間的主靜態類。

無論如何,謝謝你們回答和提出建議。

理想情況下,命名空間和類之間應該有明顯的區別。 命名空間是包,類就在那個包中。 例如,你有一個包含蘋果和橘子的籃子,你不想叫籃子蘋果,是嗎?

如果你真的必須保留這些名稱,那么不要在開頭使用“使用Core.Interface”來引用命名空間,而是在每次使用時調用完整的類路徑,這樣編譯器就知道你正在使用哪一個。

另一個選擇是使用一個別名,比如using InterfaceNameSpace = Core.Interface; 如果要使用子類類並使用靜態類的完整路徑,請使用InterfaceNameSpace定義。

重命名命名空間Interface ,以Interfaces ; 由於名稱空間通常包含多個類,因此s的后綴不會破壞語義,可能會更好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM