2010-02-18 25 views
3

我目前正在開發一個.NET Windows服務,並對引用與命名空間如何在高層工作感到好奇。我來自C++背景,並且只熟悉像#include < ...>等的語句。謝謝您的澄清。引用和名稱空間如何工作?

回答

3

引用只是一種告訴編譯器在試圖解析它們時在引用程序集中查找類型的方法。

現在,命名空間並未綁定到程序集。命名空間是一個邏輯結構,而程序集是一個物理結構。

這就是爲什麼你看到在mscorlib.dll System命名空間中的.NET類,System.dll中,System.Core.dll,等等,等等

因此,儘管你可以在兩者之間巨大的重疊,你應該避免在太多的程序集中泄漏你的名字空間。

我採用了每個名稱空間的裝配方法(程序集只有一個名稱空間中的類型,假設它是專用的),但是您的方法可能會有所不同。一般來說,保持命名空間的流血很小(或根本沒有),你通常會很好。

0

對於所有的意圖和目的,引用(例如使用System.Text)就像#include一樣,而不是包含鏈接程序集的頭文件。

命名空間是一種將代碼劃分爲語義相似的塊的非常方便的方法;例如,所有的Xml類都在System.Xml中。