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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
VB.NET共享成員高手經(jīng)驗談

學習VB.NET時,你可能會遇到VB.NET共享成員問題,這里將介紹VB.NET共享成員問題的解決方法,在這里拿出來和大家分享一下實例訪問VB.NET共享成員。

柳林網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、APP開發(fā)、成都響應式網(wǎng)站建設公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)建站2013年開創(chuàng)至今到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設就選創(chuàng)新互聯(lián)建站。

大家都知道靜態(tài)成員在VB中叫做共享成員,雖然剛接受起來有點別扭,但“VB.NET共享成員”的確是名副其實的:

 
 
 
  1. Public Class Class1  
  2. Public Shared i As Integer  
  3. 'Other none-shared members  
  4. End Class 

不但像在C#中那樣,可以用Class1.i訪問VB.NET共享成員i,還可以用實例變量來訪問:

 
 
 
  1. Dim c1 As New Class1  
  2. c1.i = 100 

就像i是c1的成員一樣!當然只有一個i,任何實例去修改i的值都將導致所有i的值改變(因為其實只有一個)。甚至Me和MyClass也可以訪問VB.NET共享成員。

 
 
 
  1. Me.i = 100 
  2. MyClass.i = 100 

這在C#中是不可能做到的,一個純正的C#程序員看到這些代碼一定會覺得匪夷所思。為了揭示它的工作原理,我們可以做下列實驗:

 
 
 
  1. Dim c1 As Class1  
  2. c1.i = 100 

注意,這里的c1為Nothing!,即使是Nothing的變量也可以訪問VB.NET共享成員,而且不會出錯。接下來我們實驗更極端的情況:

 
 
 
  1. Dim o As Object = New Class1  
  2. o.i = 100 

結(jié)果——失敗,不能通過后期綁定訪問VB.NET共享成員?,F(xiàn)在結(jié)果已經(jīng)很明顯,只有在VB明確了解對象類型的情況下,才能使用實例訪問VB.NET共享成員,VB會自動判斷類型,然后將所有對共享成員訪問的語句改寫成

 
 
 
  1. Class1.i = 100 

這樣的語法。Delphi也支持這一有趣的特征,而且李維在《Inside VCL》中將此說成Delphi.NET相對于.NET的擴展之一。


網(wǎng)站名稱:VB.NET共享成員高手經(jīng)驗談
分享鏈接:http://www.dlmjj.cn/article/djdipjh.html