2010-01-12 46 views
1

更棒的是:装载的对比Window_Loaded /事件处理程序与覆盖

Private Sub Window_Closed(sender As Object, e As EventArgs) Handles Me.Closed 
    'Do stuff 
End Sub 

Protected Overrides Sub OnClosed(ByVal e As System.EventArgs) 
    MyBase.OnClosed(e) 
    'Do stuff 
End Sub 

我个人认为,第二个是更好的,第一个,因为它不添加处理程序,也因为语法更简单。 特别是在C#中,添加处理程序更健壮,并且没有“句柄”关键字。

回答

0

我赞成事件处理程序,因为可维护性:

  • 你不能忘记调用基类方法MyBase.OnClosed()
  • 您可以轻松添加多个处理程序。

这并不重要,性能明智。 (我只是添加了这个,因为你用性能比较标记了这个问题......但是真的,这只会影响你每秒钟关闭表单数百万次。)

+0

即使对于他自己的口味,我想我会保持使用重写,我标记您的帖子作为答复,以纪念你提供的有用信息。 – Shimmy 2010-01-12 15:21:16

相关问题