当扩展一个类时,如何在基类的某个事件上设置代码的正确方法是什么?
如果以这种方式处理基类事件:
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 :(得分:0)
我在https://softwareengineering.stackexchange.com/a/343769/234737得到并回答并在此发布,以便记录并帮助其他人提出同样的问题:
两种选择都很好而且很常见。最大的区别是:使用选项1,您无法确定处理程序的触发顺序,而使用第二个选项,您可以决定是否在重写实现之前或之后调用MyBase.OnMyEvent。