簡體   English   中英

如何處理擴展類中的事件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM