1
1
汤姆·弗雷是对的。如果希望某个事件上的行为由通常触发该事件的类处理,则首选技术是重写触发该事件以执行任务的相应方法。事件基础设施是过度杀伤力的,并不是真正为您在这里要做的而设计的。 原因是您希望视图的每个实例都执行这些操作。您不希望这些操作在运行时由视图外部的事物动态分配和确定(这就是事件的用途)。 但是,在执行这种重写时,需要包括的一件重要事情是对基类实现的调用。如果不这样做,您可能会遇到奇怪的错误:
调用基类将触发事件,并可能执行其他操作。如果您希望在事件激发之前完成一些事情,并且任何外部订阅者都要完成他们的事情,请将其放在对基的调用之前。如果你想在所有事件都被触发和处理后做点什么,就把它放在后面。假想的例子:如果您的控件处理了一些数据绑定,那么您可能希望在调用base之前验证数据绑定是否存在,并且您可能希望在调用base之后验证它是否有效(以防处理程序咀嚼了某些内容)。 从 MSDN :
|
2
2
为什么不重写派生类中的一些方法,例如:
|
Pablo De Luca · 保存表单控件值以供以后使用 6 年前 |
Foitn · Winforms禁用数据预览 6 年前 |
Sach · 将WPF ScrollViewer内容导出为单独的PNG 6 年前 |