自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

VB.NET共享成員高手經(jīng)驗(yàn)談

開(kāi)發(fā) 后端
這里介紹可以用Class1.i訪問(wèn)VB.NET共享成員i,還可以用實(shí)例變量來(lái)訪問(wèn)。即使是Nothing的變量也可以訪問(wèn)VB.NET共享成員,而且不會(huì)出錯(cuò)。

學(xué)習(xí)VB.NET時(shí),你可能會(huì)遇到VB.NET共享成員問(wèn)題,這里將介紹VB.NET共享成員問(wèn)題的解決方法,在這里拿出來(lái)和大家分享一下實(shí)例訪問(wèn)VB.NET共享成員。

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

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

不但像在C#中那樣,可以用Class1.i訪問(wèn)VB.NET共享成員i,還可以用實(shí)例變量來(lái)訪問(wèn):

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

就像i是c1的成員一樣!當(dāng)然只有一個(gè)i,任何實(shí)例去修改i的值都將導(dǎo)致所有i的值改變(因?yàn)槠鋵?shí)只有一個(gè))。甚至Me和MyClass也可以訪問(wèn)VB.NET共享成員。

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

這在C#中是不可能做到的,一個(gè)純正的C#程序員看到這些代碼一定會(huì)覺(jué)得匪夷所思。為了揭示它的工作原理,我們可以做下列實(shí)驗(yàn):

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

注意,這里的c1為Nothing!,即使是Nothing的變量也可以訪問(wèn)VB.NET共享成員,而且不會(huì)出錯(cuò)。接下來(lái)我們實(shí)驗(yàn)更極端的情況:

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

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

  1. Class1.i = 100 

這樣的語(yǔ)法。Delphi也支持這一有趣的特征,而且李維在《Inside VCL》中將此說(shuō)成Delphi.NET相對(duì)于.NET的擴(kuò)展之一。

【編輯推薦】

  1. 詳細(xì)分析VB.NET WithEvents
  2. 淺析VB.NET局部靜態(tài)變量
  3. 原理分析VB.NET開(kāi)發(fā)控件
  4. 自己動(dòng)手用代碼實(shí)現(xiàn)VB.NET ListView加載數(shù)據(jù)
  5. 詳細(xì)介紹VB.NET MyClass
責(zé)任編輯:佚名 來(lái)源: CSDN
相關(guān)推薦

2009-10-29 09:40:35

VB.NET Text

2009-11-02 11:11:07

VB.NET OOP設(shè)

2009-10-30 11:07:04

VB.NET Syst

2009-11-03 16:43:54

VB.NET拖放文件

2010-01-18 14:54:00

VB.NET共享成員變

2009-11-11 13:24:29

VB.NET事件

2009-10-13 14:42:30

VB.NET靜態(tài)成員

2009-09-14 15:04:44

2009-10-13 17:08:10

CLR VB.NET

2009-10-10 15:43:51

2010-01-19 15:08:18

VB.NET對(duì)象成員

2010-01-15 13:44:39

VB.NET共享成員

2009-10-14 11:27:20

VB.NET Grou

2009-11-02 15:16:07

VB.NET編程

2009-10-16 14:31:48

VB.NET Noti

2010-01-14 18:14:22

VB.NET開(kāi)發(fā)特點(diǎn)

2009-10-26 13:13:17

VB.NET編碼規(guī)范

2009-11-03 10:51:33

VB.NET共享

2009-10-19 09:16:08

VB.NET語(yǔ)言

2009-10-28 16:14:21

VB.NET編寫(xiě)托盤程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)