【问题标题】:How to handle events in extended classes?如何处理扩展类中的事件?
【发布时间】:2017-07-27 20:14:11
【问题描述】:

当扩展一个类时,如何设置代码在基类的某些事件上执行?

是否应该这样处理基类事件:

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

或者应该覆盖事件调用者 sub?

Public Class Class2
    Inherits Class1

    Protected Overrides Sub OnMyEvent(e as EventArgs)
        MyBase.OnMyEvent(e)
        ' do stuff here
    End Sub
End Class

非常感谢

【问题讨论】:

    标签: .net vb.net class inheritance event-handling


    【解决方案1】:

    我在https://softwareengineering.stackexchange.com/a/343769/234737 得到并回答并将其发布在此处以供有相同问题的其他人记录和帮助:

    这两个选项都很好而且很常见。最大的区别:使用选项 1,您不一定知道触发处理程序的顺序,而使用第二个选项,您可以决定是在覆盖实现之前还是之后调用 MyBase.OnMyEvent。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-13
      • 2022-07-15
      相关资源
      最近更新 更多