我目前正在開發一個.NET Windows服務,並對引用與命名空間如何在高層工作感到好奇。我來自C++背景,並且只熟悉像#include < ...>等的語句。謝謝您的澄清。引用和名稱空間如何工作?
3
A
回答
3
引用只是一種告訴編譯器在試圖解析它們時在引用程序集中查找類型的方法。
現在,命名空間並未綁定到程序集。命名空間是一個邏輯結構,而程序集是一個物理結構。
這就是爲什麼你看到在mscorlib.dll System命名空間中的.NET類,System.dll中,System.Core.dll,等等,等等
因此,儘管你可以在兩者之間巨大的重疊,你應該避免在太多的程序集中泄漏你的名字空間。
我採用了每個名稱空間的裝配方法(程序集只有一個名稱空間中的類型,假設它是專用的),但是您的方法可能會有所不同。一般來說,保持命名空間的流血很小(或根本沒有),你通常會很好。
0
對於所有的意圖和目的,引用(例如使用System.Text)就像#include一樣,而不是包含鏈接程序集的頭文件。
命名空間是一種將代碼劃分爲語義相似的塊的非常方便的方法;例如,所有的Xml類都在System.Xml中。
相關問題
- 1. XML名稱空間如何工作
- 2. XML名稱空間如何工作?
- 3. 嵌套名稱空間如何工作?
- 4. RoR - 工作流和名稱空間
- 5. 使用SPL_AUTOLOAD_REGISTER時名稱空間如何工作?
- 6. 使用和名稱空間
- 7. 工作表名稱中的RowSource空間
- 8. 如何引用不使用工作簿名稱的工作簿?
- 9. 命名空間和程序集名稱如何爲IronPython類型工作?
- 10. jQuery的名稱空間是如何工作的?
- 11. 名稱空間如何在PHP中工作
- 12. RoR的「魔術」名稱空間解析如何工作?
- 13. XQuery函數名稱空間如何工作?
- 14. 默認的xml名稱空間在XAML中如何工作?
- 15. Struts2包中的名稱空間屬性如何工作?
- 16. 這個jQuery名稱空間(JavaScript)如何工作?
- 17. 已過濾索引操作的路由和名稱空間
- 18. 如何引用在同名的當前名稱空間之外聲明的名稱空間?
- 19. C#中的名稱空間和子名稱空間#
- 20. xml命名空間如何工作?
- 21. SimpleXML和名稱空間
- 22. XSLT和名稱空間
- 23. XML :: LibXML和名稱空間
- 24. PHP名稱空間和「use」
- 25. StAX和名稱空間
- 26. 如何添加空間應用名稱
- 27. clojure multimethods如何使用名稱空間?
- 28. 如何應用XML名稱空間
- 29. 如何用e4x去除名稱空間?
- 30. 如何用SimpleXML替換名稱空間?