日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
突破VB.NET命名空間兩大難關(guān)

知道什么是VB.NET命名空間嗎?對于命名組織在程序集中定義的對象你有深入的了解嗎?程序集可以包含多個(gè)VB.NET命名空間命名空間,而命名空間可以包含其他命名空間。命名空間避免了使用大的對象組(如類庫)時(shí)的多義性并簡化了引用。下面我們來看一個(gè)例子.

我們注重客戶提出的每個(gè)要求,我們充分考慮每一個(gè)細(xì)節(jié),我們積極的做好網(wǎng)站制作、網(wǎng)站設(shè)計(jì)服務(wù),我們努力開拓更好的視野,通過不懈的努力,創(chuàng)新互聯(lián)贏得了業(yè)內(nèi)的良好聲譽(yù),這一切,也不斷的激勵(lì)著我們更好的服務(wù)客戶。 主要業(yè)務(wù):網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),微信平臺小程序開發(fā),網(wǎng)站開發(fā),技術(shù)開發(fā)實(shí)力,DIV+CSS,PHP及ASP,ASP.Net,SQL數(shù)據(jù)庫的技術(shù)開發(fā)工程師。

例如,.NET Framework 在 System.Windows.Forms 命名空間中定義 ListBox 類。以下代碼片段說明如何使用該類的完全限定名聲明變量:

 
 
 
 
  1. Visual Basic  
  2. Dim LBox As System.Windows.Forms.ListBox  

一.避免名稱沖突

.NET Framework 命名空間解決了有時(shí)被稱為“命名空間污染”的問題,即在另一個(gè)庫中使用類似名稱妨礙了類庫的開發(fā)者。這些同現(xiàn)有組件的沖突有時(shí)被稱為“名稱沖突”。

例如,如果創(chuàng)建一個(gè)名為 ListBox 的新類,則在項(xiàng)目內(nèi)部不需任何限定即可使用它。但是,如果想要在同一項(xiàng)目中使用 .NET Framework ListBox 類,就必須使用完全限定的引用以使引用***。如果該引用不***,Visual Basic 會產(chǎn)生錯(cuò)誤,指明該名稱不明確。下面的代碼示例說明如何聲明這些對象:

 
 
 
 
  1. Visual Basic  
  2. ' Define a new object based on your ListBox class.  
  3. Dim LBC As New ListBox  
  4. ' Define a new Windows.Forms ListBox control.  
  5. Dim MyLB As New System.Windows.Forms.ListBox 

下圖說明了兩個(gè)命名空間層次結(jié)構(gòu),它們都包含名為 ListBox 的對象。

默認(rèn)情況下,使用 Visual Basic 創(chuàng)建的每個(gè)可執(zhí)行文件都包含一個(gè)與項(xiàng)目同名的命名空間。例如,如果在名為 ListBoxProject 的項(xiàng)目內(nèi)定義一個(gè)對象,則可執(zhí)行文件 ListBoxProject.exe 將包含名為 ListBoxProject 的命名空間。

多個(gè)程序集可使用同一命名空間。Visual Basic 將它們視為單一的一組名稱。例如,可以在名為 Assemb1 的程序集中為名為 SomeNameSpace 的命名空間定義類,在名為 Assemb2 的程序集中為同一命名空間定義附加的類。

二.完全限定名

完全限定名是以在其中定義對象的命名空間的名稱為前綴的對象引用。如果創(chuàng)建對該類的引用(選擇“項(xiàng)目”菜單中的“添加引用”),然后在代碼中使用對象的完全限定名,就可以使用在其他項(xiàng)目中定義的對象。下面的代碼片段說明如何使用另一項(xiàng)目命名空間中的對象的完全限定名:

 
 
 
 
  1. Visual Basic  
  2. Dim LBC As New ListBoxProject.Form1.ListBox  

命名沖突,因?yàn)樗鼈兪咕幾g器能夠確定哪個(gè)對象正在被使用。然而,名稱本身可能變得冗長繁瑣。為避免這點(diǎn),可以使用 Imports 語句來定義“別名”,別名是一個(gè)可用來替代完全限定名的縮寫名稱。例如,下面的代碼示例為兩個(gè)完全限定名創(chuàng)建別名,并且使用這些別名定義兩個(gè)對象。

 
 
 
 
  1. Visual Basic  
  2. Imports LBControl = System.Windows.Forms.ListBox  
  3. Imports MyListBox = ListBoxProject.Form1.ListBox  
  4. Visual Basic  
  5. Dim LBC As LBControl  
  6. Dim MyLB As MyListBox 

如果使用 Imports 語句而不用別名,可以不加限定地使用該命名空間中的所有名稱,只要它們對項(xiàng)目而言是***的即可。如果項(xiàng)目包含的命名空間的 Imports 語句含有同名項(xiàng),則使用該名稱時(shí)必須完全限定它。例如,假設(shè)項(xiàng)目包含如下兩個(gè) Imports 語句:

 
 
 
 
  1. Visual Basic  
  2. ' This namespace contains a class called Class1.  
  3. Imports MyProj1  
  4. ' This namespace also contains a class called Class1.  
  5. Imports MyProj2 

如果試圖在沒有完全限定的情況下使用 Class1,Visual Basic 將產(chǎn)生錯(cuò)誤,指出名稱 Class1 不明確。

VB.NET命名空間級語句
在命名空間內(nèi),可以定義像模塊、接口、類、委托、枚舉、結(jié)構(gòu)以及其他命名空間這樣的項(xiàng)。無法在命名空間級別定義諸如屬性、過程、變量和事件等項(xiàng)目。必須在諸如模塊、結(jié)構(gòu)或類等容器內(nèi)聲明這些項(xiàng)目。

注意 
如果您定義的命名空間是嵌套層次結(jié)構(gòu),則該層次結(jié)構(gòu)中的代碼訪問其他同名命名空間中的類時(shí),可能會被阻塞。例如,如果您在一個(gè)名為 SpecialSpace 的命名空間中定義了一個(gè)叫做 System 的命名空間,則 .NET Framework System 命名空間的成員將無法訪問,除非您用關(guān)鍵字 Global 對這些成員進(jìn)行完全限定。有關(guān)更多信息,請參見 Global。

【編輯推薦】

  1. 深入分析VB.NET條件語句中的兩類
  2. 全面討論VB.NET申明Windows API函數(shù)
  3. 剖析VB.NET平臺調(diào)用是如何執(zhí)行操作
  4. 分享個(gè)人總結(jié)VB.NET多線程
  5. 三類十二種VB.NET數(shù)據(jù)類型全面介紹

網(wǎng)站題目:突破VB.NET命名空間兩大難關(guān)
文章出自:http://www.dlmjj.cn/article/cdcjdoo.html