2017-03-07 19 views
0

當擴展一個類時,如何設置代碼以在基類的某個事件上執行?如何處理擴展類中的事件?

如果一個處理基類事件是這樣的:

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 

非常感謝您

回答

0

我和答案在https://softwareengineering.stackexchange.com/a/343769/234737,並張貼在這裏給別人用同樣的問題的記錄和幫助:

兩個選項是罰款和常見的。最大的區別是:使用選項1時,不一定要告訴處理程序被觸發的順序,而使用第二個選項時,可以決定在重寫實現之前還是之後調用MyBase.OnMyEvent。