1 回答

TA貢獻1827條經驗 獲得超8個贊
namespace可以理解為邏輯上的函數庫(里面包含各類函數),與之對應的是assembly,屬于物理上的函數庫(即一個個DLL文件)。
namespace是有層次的,這就好象書的章節一樣,這樣在使用namespace中的類和對象時,就比較容易了。象下面這個例子:dim abc As System.IO.StreamReader,一看就知道這是把abc定義為system命名空間下的IO子空間中的StreamReader類。
由于各名字空間實際是保存在各程序集(assembly)中的,因此使用名字空間前需要先引用其所在的程序集。
根據需要也可寫 import namespace,這樣以后使用namesapce中的類和對象時可省略那一長串路徑。比如剛才的例子可以寫成這樣:
import System.IO
dim abc as StreamReader
有了namespace后,同名的類和函數就被允許了,因為它們位于不同的namespace中,不會產生沖突!比如System.Web.UI空間下有TextBox類,而System.Windows.Forms空間下也有一個TextBox類,這兩個類的名字完全一致(其實功用也差不多),但你在使用它們的時候,系統能夠很好的分辨到底是哪一個,這就是namespace的關系!
當然,除了系統的namespace,開發者可以自己定義自己的namespace。其實當你編譯一個解決方案時,系統也會用你的項目名稱做名字,生成一個namespace,并把你的類(其實每個web頁面就是一個類)都放在這個namespace下面!
- 1 回答
- 0 關注
- 542 瀏覽
添加回答
舉報