新聞中心
VB.NET中的事件是一個(gè)非常重要的概念。對(duì)于初學(xué)者來(lái)說(shuō),在學(xué)習(xí)的過(guò)程中一定要重點(diǎn)注意這方面的內(nèi)容。那么接下來(lái)就讓我們一起對(duì)VB.NET事件的基本概念進(jìn)行一個(gè)詳細(xì)的解讀,加深這方面的理解。

創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作與策劃設(shè)計(jì),成都網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:成都等地區(qū)。成都做網(wǎng)站價(jià)格咨詢:028-86922220
事件
在VB.NET中,繼承是完全支持VB.NET事件的。如果一個(gè)基類定義了一個(gè)Public事件,那么這個(gè)事件可以通過(guò)基類的代碼或者任何由基類繼承而來(lái)的子類所觸發(fā)。
舉個(gè)例子吧,我們可以先定義一個(gè)基類,代碼如下:
- Public Class Parent
- Public Event ParentEvent()
- Public Sub DoEvent()
- RaiseEvent ParentEvent()
- End Sub
- End Class
很顯然,類中的代碼可以觸發(fā)ParentEvent事件。我們還可以這樣來(lái)創(chuàng)建一個(gè)子類:
- Public Class SubClass
- Inherits Parent
- Public Sub DoSomething()
- RaiseEvent ParentEvent()
- End Sub
- End Class
這個(gè)子類是通過(guò)使用Inherits關(guān)鍵字繼承而來(lái)的,它不僅得到了父類的屬性和方法,而且繼承了基類的事件。#t#
VB.NET事件可以定義任何的作用域。如果定義為Private事件,那么它就只可以通過(guò)發(fā)送對(duì)象來(lái)獲得,但是Public事件就可以被任何對(duì)象訪問(wèn)。而Protected事件可以通過(guò)定義類或者子類來(lái)創(chuàng)建對(duì)象進(jìn)行訪問(wèn)。另外Friend 事件可以被VB.NET工程中的任何對(duì)象訪問(wèn)。
不象方法,事件不能使用Overloads關(guān)鍵字來(lái)進(jìn)行重載。一個(gè)類可以使用任何特定的名字來(lái)定義一個(gè)事件。因?yàn)槿魏巫宇悓⒆詣?dòng)從父類重得到事件,所有Override關(guān)鍵字就顯得沒(méi)什么作用,故不能用于事件中。
共享事件
VB.NET事件可以定義為Shared。共享方法可以觸發(fā)共享事件,而不能觸發(fā)非共享事件,具體例子如下:
- Public Class EventSource
- Shared Event SharedEvent()
- Public Shared Sub DoShared()
- RaiseEvent SharedEvent()
- End Sub
- End Class
一個(gè)共享事件也可以由共享方法或者非共享方法來(lái)觸發(fā),下面是相應(yīng)的例子:
- Public Class EventSource
- Public Event TheEvent()
- Shared Event SharedEvent()
- Public Sub DoSomething()
- RaiseEvent TheEvent()
- RaiseEvent SharedEvent()
- End Sub
- Public Shared Sub DoShared()
- RaiseEvent SharedEvent()
- End Sub
- End Class
如果你想從一個(gè)共享方法中觸發(fā)一個(gè)非共享事件就將導(dǎo)致一個(gè)語(yǔ)法錯(cuò)誤。
以上就是對(duì)VB.NET事件的相關(guān)概念介紹。
名稱欄目:VB.NET事件觸發(fā)方式
分享URL:http://www.dlmjj.cn/article/dpojejc.html


咨詢
建站咨詢
