這篇文章主要為大家展示了“什么是VB.NET命名空間”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“什么是VB.NET命名空間”這篇文章吧。
創(chuàng)新新互聯(lián),憑借十年的成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)經(jīng)驗(yàn),本著真心·誠(chéng)心服務(wù)的企業(yè)理念服務(wù)于成都中小企業(yè)設(shè)計(jì)網(wǎng)站有上千案例。做網(wǎng)站建設(shè),選創(chuàng)新互聯(lián)。
對(duì)于命名組織在程序集中定義的對(duì)象你有深入的了解嗎?程序集可以包含多個(gè)VB.NET命名空間命名空間,而命名空間可以包含其他命名空間。命名空間避免了使用大的對(duì)象組(如類庫(kù))時(shí)的多義性并簡(jiǎn)化了引用。下面我們來(lái)看一個(gè)例子.
例如,.NET Framework 在 System.Windows.Forms 命名空間中定義 ListBox 類。以下代碼片段說(shuō)明如何使用該類的完全限定名聲明變量:
Visual Basic Dim LBox As System.Windows.Forms.ListBox
一.避免名稱沖突
.NET Framework 命名空間解決了有時(shí)被稱為“命名空間污染”的問(wèn)題,即在另一個(gè)庫(kù)中使用類似名稱妨礙了類庫(kù)的開(kāi)發(fā)者。這些同現(xiàn)有組件的沖突有時(shí)被稱為“名稱沖突”。
例如,如果創(chuàng)建一個(gè)名為 ListBox 的新類,則在項(xiàng)目?jī)?nèi)部不需任何限定即可使用它。但是,如果想要在同一項(xiàng)目中使用 .NET Framework ListBox 類,就必須使用完全限定的引用以使引用***。如果該引用不***,Visual Basic 會(huì)產(chǎn)生錯(cuò)誤,指明該名稱不明確。下面的代碼示例說(shuō)明如何聲明這些對(duì)象:
Visual Basic ' Define a new object based on your ListBox class. Dim LBC As New ListBox ' Define a new Windows.Forms ListBox control. Dim MyLB As New System.Windows.Forms.ListBox
下圖說(shuō)明了兩個(gè)命名空間層次結(jié)構(gòu),它們都包含名為 ListBox 的對(duì)象。
默認(rèn)情況下,使用 Visual Basic 創(chuàng)建的每個(gè)可執(zhí)行文件都包含一個(gè)與項(xiàng)目同名的命名空間。例如,如果在名為 ListBoxProject 的項(xiàng)目?jī)?nèi)定義一個(gè)對(duì)象,則可執(zhí)行文件 ListBoxProject.exe 將包含名為 ListBoxProject 的命名空間。
多個(gè)程序集可使用同一命名空間。Visual Basic 將它們視為單一的一組名稱。例如,可以在名為 Assemb1 的程序集中為名為 SomeNameSpace 的命名空間定義類,在名為 Assemb2 的程序集中為同一命名空間定義附加的類。
二.完全限定名
完全限定名是以在其中定義對(duì)象的命名空間的名稱為前綴的對(duì)象引用。如果創(chuàng)建對(duì)該類的引用(選擇“項(xiàng)目”菜單中的“添加引用”),然后在代碼中使用對(duì)象的完全限定名,就可以使用在其他項(xiàng)目中定義的對(duì)象。下面的代碼片段說(shuō)明如何使用另一項(xiàng)目命名空間中的對(duì)象的完全限定名:
Visual Basic Dim LBC As New ListBoxProject.Form1.ListBox
命名沖突,因?yàn)樗鼈兪咕幾g器能夠確定哪個(gè)對(duì)象正在被使用。然而,名稱本身可能變得冗長(zhǎng)繁瑣。為避免這點(diǎn),可以使用 Imports 語(yǔ)句來(lái)定義“別名”,別名是一個(gè)可用來(lái)替代完全限定名的縮寫名稱。例如,下面的代碼示例為兩個(gè)完全限定名創(chuàng)建別名,并且使用這些別名定義兩個(gè)對(duì)象。
Visual Basic Imports LBControl = System.Windows.Forms.ListBox Imports MyListBox = ListBoxProject.Form1.ListBox Visual Basic Dim LBC As LBControl Dim MyLB As MyListBox
如果使用 Imports 語(yǔ)句而不用別名,可以不加限定地使用該命名空間中的所有名稱,只要它們對(duì)項(xiàng)目而言是***的即可。如果項(xiàng)目包含的命名空間的 Imports 語(yǔ)句含有同名項(xiàng),則使用該名稱時(shí)必須完全限定它。例如,假設(shè)項(xiàng)目包含如下兩個(gè) Imports 語(yǔ)句:
Visual Basic ' This namespace contains a class called Class1. Imports MyProj1 ' This namespace also contains a class called Class1. Imports MyProj2
如果試圖在沒(méi)有完全限定的情況下使用 Class1,Visual Basic 將產(chǎn)生錯(cuò)誤,指出名稱 Class1 不明確。
VB.NET命名空間級(jí)語(yǔ)句
在命名空間內(nèi),可以定義像模塊、接口、類、委托、枚舉、結(jié)構(gòu)以及其他命名空間這樣的項(xiàng)。無(wú)法在命名空間級(jí)別定義諸如屬性、過(guò)程、變量和事件等項(xiàng)目。必須在諸如模塊、結(jié)構(gòu)或類等容器內(nèi)聲明這些項(xiàng)目。
注意
如果您定義的命名空間是嵌套層次結(jié)構(gòu),則該層次結(jié)構(gòu)中的代碼訪問(wèn)其他同名命名空間中的類時(shí),可能會(huì)被阻塞。例如,如果您在一個(gè)名為 SpecialSpace 的命名空間中定義了一個(gè)叫做 System 的命名空間,則 .NET Framework System 命名空間的成員將無(wú)法訪問(wèn),除非您用關(guān)鍵字 Global 對(duì)這些成員進(jìn)行完全限定。
以上是“什么是VB.NET命名空間”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章名稱:什么是VB.NET命名空間
文章分享:http://aaarwkj.com/article20/pesgjo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、網(wǎng)站設(shè)計(jì)公司、App設(shè)計(jì)、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)