我正在設計一個名稱空間來容納一組類,這些類將處理用戶有關幾個不同應用程序的相關任務。 (註冊,認證等)類應該與命名空間名稱相同嗎?
的問題是命名空間將被稱爲Fusion.User
但隨後要求該命名空間是有道理調用User
類。
如果你有一個與命名空間同名的類?或者我在這裏採取了錯誤的做法?
我正在設計一個名稱空間來容納一組類,這些類將處理用戶有關幾個不同應用程序的相關任務。 (註冊,認證等)類應該與命名空間名稱相同嗎?
的問題是命名空間將被稱爲Fusion.User
但隨後要求該命名空間是有道理調用User
類。
如果你有一個與命名空間同名的類?或者我在這裏採取了錯誤的做法?
命名方式與命名空間(包)相同的類可能會導致認爲類是包的核心。但是,如果我得到它正確的用戶只是你的情況下的數據對象。
至於我看你有2種選擇:
我喜歡'Fusion.Security'的建議 - 也許我的想法太窄了 – 2009-11-26 14:02:19
我可能會調用名稱空間'usertasks'來避免任何混淆。您將不得不定期使用命名空間限定內部類,以避免混淆編譯器。
的命名空間是Fusion.User
類的全名是Fusion.User.User
這是一個很好的做法,使他們不同,因爲
在這裏我們使用兩個用戶的情況下,它也看起來很醜。
using Fusion;
命名空間XYZ {
公共類測試
{
User.User userObject {獲得;設置;}}
}
所以,更好的選擇是使用不同的名稱
有些情況下使用的情況下,同名會導致問題。立即想到的一點是在使用WCF服務時。當我最近在命名空間「companyName.someBehaviour」的一個名爲「someBehaviour」的類中使用了「MyService」時,編譯器對我說,MyService不存在於someBehaviour命名空間中。將類名更改爲不同的(並且非常有用)解決了這個問題,並允許我編譯程序集。
的可能重複[如何避免一類具有相同的名稱和它的命名空間,如Technology.Technology?](http://stackoverflow.com/questions/1158092/如何避免具有相同名稱的類和命名空間,如技術) – nawfal 2013-02-25 09:27:49