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

VB.NET事件訪問器特性介紹

開發(fā) 后端
VB.NET事件訪問器可以讓你定義一個(gè)自定義的時(shí)間,而且能夠公職事件處理器,然后引發(fā)你的事件后所發(fā)生的情況。

 VB.NET編程語言中有兩種比較重要的訪問器,一種是屬性訪問器,另一種則是VB.NET事件訪問器。在這里我們會(huì)針對這兩種訪問器做一個(gè)詳細(xì)的介紹,尤其是VB.NET事件訪問器的相關(guān)應(yīng)用方式。

VB.NET屬性訪問器的可訪問性

以前,一個(gè)一直困擾我的問題就是VB.NET中Get和Set訪問器必須具有相同的可訪問性(Public、Friend、或Private)。如果你想創(chuàng)建一個(gè)只讀的Public屬性(只有Get被公開),那么在你的組件中并沒有Set訪問器來強(qiáng)制確認(rèn)或者自定義屬性的處理。

現(xiàn)在,VisualBasic2005中的Get和Set訪問器可以設(shè)置不同的可訪問性了,只是Set在訪問上必須比Get更受限制:

  1. Private_myPropAsString   
  2. PublicPropertyMyProp()AsString   
  3. Get  
  4. Return_myProp  
  5. EndGet   
  6. FriendSet(ByValvalueAsString)  
  7. Ifvalue.Trim.Length>0Then  
  8. _myProp=value.Trim  
  9. Else  
  10. value="<novalue>" 
  11. EndIf  
  12. EndSet   
  13. EndProperty 

無論是對于團(tuán)隊(duì)開發(fā)環(huán)境還是對于為了努力追求代碼***重用率的個(gè)人開發(fā)者,這個(gè)特性都相當(dāng)有用。

自定義VB.NET事件訪問器

VB.NET事件訪問器允許你定義一個(gè)自定義事件,并且,你可以控制在當(dāng)客戶端添加或刪除了事件處理器并引發(fā)你的事件后所發(fā)生的情況。假設(shè)你有一個(gè)自定義的類,在該類中你引發(fā)了一個(gè)RateChanged事件。你可以按照下面兩種方式其中一種來聲明普通的事件:

  1. PublicEventRateChanged()  
  2. ''或者  
  3. PublicEventHoursChangedAsEventHandler 

用這種方式聲明事件會(huì)產(chǎn)生一個(gè)自動(dòng)托管的后備存儲(chǔ)。換言之,系統(tǒng)將處理事件托管和分派的方式。通常情況下這就很好了,但是有時(shí)候,你需要對如何通知事件監(jiān)聽器的方式擁有更多的控制。

你可以利用這個(gè)新的Custom關(guān)鍵字來定義一個(gè)自定義事件以及它的訪問修飾符。當(dāng)你在事件聲明上敲下回車鍵后,VisualBasic2005將為你自動(dòng)生成代碼原形,其生成方式就像Property訪問器那樣:

  1. PublicCustomEventNameChangedAsEventHandler  
  2. AddHandler(ByValvalueAsEventHandler)  
  3. ''把處理器與后備存儲(chǔ)掛鉤  
  4. EndAddHandler 軟件開發(fā)網(wǎng)   
  5. RemoveHandler(ByValvalueAsEventHandler)  
  6. ''從后備存儲(chǔ)中刪除處理器  
  7. EndRemoveHandler   
  8. RaiseEvent(ByValsenderAsObject,ByValeAsEventArgs)  
  9. ''激發(fā)監(jiān)聽器  
  10. EndRaiseEvent   
  11. EndEvent 

當(dāng)客戶端為你的事件添加或刪除了一個(gè)處理器后,AddHandler或RemoveHandler歷程開始運(yùn)作。而當(dāng)事件被引發(fā)后,RaiseEvent歷程開始執(zhí)行。通過這種方式,你可以按照你想要為事件托管后備存儲(chǔ)的方式來采取特別的操作。當(dāng)你用這種方式創(chuàng)建了這些自定義事件,你就可以把該事件當(dāng)作屬性來看待。

一個(gè)展示了自定義VB.NET事件訪問器有用一面的例子,就是當(dāng)你的對象是可序列化的、并且你有一個(gè)可以被一個(gè)不可序列化的委托對象處理的事件的時(shí)候。如果你試圖通過一個(gè)普通事件來序列化你的對象,序列化就會(huì)失敗,這是因?yàn)楹髠湓撌录拇鎯?chǔ)是不可序列化的。

【編輯推薦】

  1. VB.NET訪問Iframe具體代碼實(shí)現(xiàn)方式
  2. VB.NET調(diào)用SQL Server存儲(chǔ)過程
  3. VB.NET添加自動(dòng)查詢功能實(shí)現(xiàn)技巧概述
  4. VB.NET關(guān)于對話框制作技巧分享
  5. VB.NET Mid函數(shù)相關(guān)應(yīng)用方法解析
責(zé)任編輯:曹凱 來源: mscto.com
相關(guān)推薦

2009-10-23 17:03:18

VB.NET事件編程

2010-01-12 18:12:58

VB.NET事件

2009-10-23 17:22:48

VB.NET編程

2009-10-28 09:55:29

VB.NET MyCl

2010-01-15 18:30:50

VB.NET Dlli

2009-10-13 14:38:10

VB.NET訪問類型

2009-11-11 13:24:29

VB.NET事件

2009-11-04 09:32:12

VB.NET Auto

2010-01-20 14:17:28

VB.NET Prop

2009-11-10 10:28:20

VB.NET誕生

2009-10-12 15:02:51

VB.NET動(dòng)態(tài)控件

2010-01-21 16:45:00

VB.NET繼承規(guī)則

2010-01-07 15:25:11

VB.NET數(shù)組

2010-01-22 10:41:33

VB.NET聲明結(jié)構(gòu)

2009-10-12 13:19:14

VB.NET線程同步

2009-11-10 12:42:47

VB.NET Prin

2009-11-03 09:37:33

VB.NET重載

2010-01-15 18:56:58

VB.NET Fiel

2010-01-20 13:42:10

VB.NET訪問INIGetPrivateP

2010-01-20 18:10:27

VB.NET訪問級別
點(diǎn)贊
收藏

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