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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
VB.NET事件訪問(wèn)器特性介紹

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

VB.NET屬性訪問(wèn)器的可訪問(wèn)性

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

現(xiàn)在,VisualBasic2005中的Get和Set訪問(wèn)器可以設(shè)置不同的可訪問(wèn)性了,只是Set在訪問(wèn)上必須比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="
  11. EndIf  
  12. EndSet   
  13. EndProperty 

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

自定義VB.NET事件訪問(wèn)器

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

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

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

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

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

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

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


網(wǎng)頁(yè)標(biāo)題:VB.NET事件訪問(wèn)器特性介紹
分享URL:http://www.dlmjj.cn/article/dhepocp.html