[英]How to handle events in extended classes?
當擴展一個類時,如何設置在基類發生某個事件時執行代碼的正確方法?
應該以這種方式處理基類事件:
Public Class Class2
Inherits Class1
Private Sub MyBase_MyEvent(sender as object, e as eventargs) Handles MyBase.MyEvent
' do stuff here
End Sub
End Class
還是應該覆蓋事件調用者子對象?
Public Class Class2
Inherits Class1
Protected Overrides Sub OnMyEvent(e as EventArgs)
MyBase.OnMyEvent(e)
' do stuff here
End Sub
End Class
非常感謝你
我在https://softwareengineering.stackexchange.com/a/343769/234737上獲得答復,並將其張貼在此處以供記錄和其他有相同問題的人員提供幫助:
兩種選擇都很好並且很普通。 最大的區別是:使用選項1,您不必說出處理程序的執行順序,而使用第二個選項,您可以決定在重寫實現之前還是之后調用MyBase.OnMyEvent。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.