使用名稱空間別名有什麼好處?僅僅爲了簡化編碼是否好?在C#中使用名稱空間別名有什麼好處?
回答
正如其他人所說的,當您必須同時導入多個名稱空間時,對消除歧義類型非常有用。
這似乎是對別人的意見,但它也可能是兩個域之間明確範圍有用:
using Gilco.Test.ProjectX;
using DevCode = Gilco.Nilfum.Alpha.ProjectX;
public class MyTests
{
public void TestCase1()
{
var car = new DevCode.Car();
var testCar = new TestCar();
}
}
時,你必須指定命名空間也可能在極少數情況下非常有用(爲消除歧義),您的命名空間不這麼長時間來證明別名,但可能很快發生變化(當你使用命名空間來支持你的代碼路徑的兩個版本同時),如:
using DevCode = Gilco.V1;
只有在與類存在衝突時才使用命名空間別名。 對我來說,它並不是簡單的。我的意見:如果沒有必要,請不要使用它。
我在使用兩個具有相同名稱的類時通常只使用名稱空間別名。當您創建命名空間別名
據我所知 - 靜態變量值爲每個別名是它自己的,而不是依賴於其他別名 +簡化
,當你有衝突,他們是有用的。例如,如果您的類型爲NamespaceA.Jobber
和NamespaceB.Jobber
,並且想要在同一個類中使用它們,那麼您將無法爲NamespaceA和NamespaceB添加using
語句,因爲編譯器不會知道您是什麼指您是否輸入Jobber
。在這種情況下,您可以爲一個或兩個命名空間提供別名。
這可以使你的代碼更加清晰,特別是如果命名空間很長,因爲替代方法是每次使用類型時都寫出整個命名空間。
命名空間別名可用於解決代碼中具有相同名稱的兩個或多個類的歧義性。例如,您的Winform中有Button類,並且您的第三個庫中還有一個Button類。當你的代碼參考按鈕,你可能想量化它來自第三方,而不是想把整個長文本到處,而寧可使用別名using CompanyX = CompanyX.UI.Animated.Control
... CompanyX.Button
事實上,我只是在工作項目的早期使用它也可以讓我的代碼更具可讀性。我使用和,而不是具有可變定義應用程序無處不在,很難從我的實際應用類區別開來,我定義使用Word=Microsoft.Office.Interop.Word
,並在代碼中,我可以說Word.Application
指Word應用程序對象Office Word中自動化
在情況下,有是相互衝突的類型名稱,使用別名將使您不必使用完全限定的名稱。例如名稱TextBox
用於以下兩個名稱空間。
System.Windows.Forms.TextBox
System.Web.UI.WebControls.TextBox
依賴使用聲明的順序將是相當脆弱的,只會幫助一個命名空間。更好的辦法是爲每個名稱空間分配一個別名。
- 1. 在JavaScript中使用名稱空間有什麼好處?
- 2. 在web.config文件中添加名稱空間有什麼好處?
- 3. C++中的名稱空間別名的作用域是什麼?
- 4. C#名稱空間別名 - 有什麼意義?
- 5. 應該在頭文件中使用C++名稱空間別名?
- 6. 使用命名空間有什麼好處?
- 7. 使用:: namespace :: something命名空間:: something有什麼好處?
- 8. 在webform頁面中使用名稱空間的好處是什麼?
- 9. 在R中的命名空間導入有什麼好處?
- 10. 爲什麼以及如何在C++中使用名稱空間?
- 11. 爲什麼在C++名稱空間周圍使用extern「C」
- 12. 名稱和友好名稱有什麼區別?
- 13. 爲什麼在C#中添加名稱空間別名可消除歧義?
- 14. 在c#中使用名稱空間#
- 15. 在C++中使用名稱空間?
- 16. 在C++中使用名稱空間
- 17. 在C++中,什麼是「命名空間別名」?
- 18. Doctrine2中的實體名稱空間和別名是什麼?
- 19. 命名空間名稱空間控制器還有什麼?
- 20. 如何在C++ 11中別名全局名稱空間
- 21. 私人名稱在Python中改名的好處是什麼?
- 22. 使用名稱而不是版本號有什麼好處?
- 23. 使用命名空間別名優於預處理器的好處
- 24. 在命名空間中處理名稱空間模型(類)
- 25. XML to JSON - 處理JavaScript中的xml名稱空間和別名
- 26. C#中的名稱空間和子名稱空間#
- 27. 爲什麼他們在JavaScript中使用名稱空間?
- 28. 什麼時候應該在PHP中使用名稱空間?
- 29. C++中的命名空間別名
- 30. 類型別名(「使用」)在相同與分層名稱空間
感謝名單斯科特漂亮很好的解釋,簡單的,+1 – 2012-09-03 13:03:51