5

我改組我的源文件與單個項目的單一解決方案,由於各種原因:C#單人項目組織

這給我留下了許多的命名空間,這是跨越多個文件分裂。到目前爲止,我使用這個約定:給定的命名空間Company.Project.A,該文件被命名爲A.f1.csA.f2.cs等,並Company.Project.B命名空間跨越B.f1.csB.f2.cs分裂等

由於單個項目的限制,是否有任何更好的方法來組織多個名稱空間中的多個文件?

回答

11

是 - 使用文件夾。

如果一個項目中創建一個文件夾,該文件夾中的新類將自動使用該文件夾的名稱作爲命名空間的基礎。

舉例來說,如果你有「Company.Project」的默認命名空間和文件夾中的項目「富」含「Bar.cs」你結了:

using System; // Etc 

namespace Company.Project.Foo 
{ 
    class Bar 
    { 
    } 
} 
2

所以解決方案就在這裏。它是文件夾。但它有時很棘手。首先,每班有一個文件是個好主意。如果您將幾個課程打包成一個文件 - 您在隨時查找它們時會遇到問題。

有關文件夾的第二件事 - 如果你點擊一個文件夾,並選擇如「添加 - >新建項目」,該項目將投入選定的文件夾。但小心!如果您要在文件夾之間移動文件,名稱空間不會更新。

它搞亂項目的常見原因。不久之後,您可以最終創建一個項目,其中包含整潔的文件夾和文件,但不會反映名稱空間。因此,例如,如果您在MyFolder文件夾中有類MyClass,請確保此類的命名空間與MyApp.MyFolder類似,而不是一些舊垃圾。

所以,如果你不包類合併成一個文件,看是否類的命名空間反映文件夾結構 - 你是良好的道路上,使你的項目很容易閱讀和瀏覽。

1

100%同意喬恩斯基特。

要在我們創建文件夾通過用下劃線前綴他們打破了命名空間結構中的文件夾級別獲得更多的概述。