我应该继承或订阅活动吗?

ser*_*hio 2 .net oop winforms

如果我Abstract BaseForm为我的Windows应用程序创建一个,我可以在加载应用程序的表单时使用它来做常见的事情.我也可以override使用OnLoad方法,或者我订阅Loadevent(BaseForm_Load).

从设计和性能的角度来看哪种方法更好?

Ree*_*sey 5

通常,如果要实现基类(即:子类化Form),最好覆盖基类方法.

这样做有多种原因 - 这些方法通常首先发生,并始终保证顺序(如果您使用该事件,其他方法可以通过其他可能干扰您的方法的订阅者运行).此外,这样做的开销也略微减少了.

可能最好的理由是,这是公认的做法,它使您的代码更易于维护,尤其是其他开发人员.