引言 关于事件和委托的文章看过很多,但总是记不完整。尤其是在给别人讲解的时候总是很零碎,所以在此整理一下,也供大家参考,很请大家不吝赐教。 本文从一个子类如何触发基类的事件(Event),引出事件和委托的共性和区别。再简单分析下背后原因,深层原因也给大家提供了部分参考资料。欢迎大 ...
引言
关于事件和委托的文章看过很多,但总是记不完整。尤其是在给别人讲解的时候总是很零碎,所以在此整理一下,也供大家参考,很请大家不吝赐教。
本文从一个子类如何触发基类的事件(Event),引出事件和委托的共性和区别。再简单分析下背后原因,深层原因也给大家提供了部分参考资料。欢迎大家留言讨论。
问题
“如果我想在子类里触发父类的事件(Event)应该如何实现?”(可以先自己做下或者想下,再继续看您的做法是否也曾有我碰到技术误区)
问题分解为两步:
- 父类定义了一个事件(Event)
- 子类触发父类中定义的这个事件(Event)
最初的想法是:
class BaseClass { public delegate void CompletedEventHandler(); public event CompletedEventHandler WorkCompleted; private void DoSomeThingInBase() { //do something then to notify other class if (WorkCompleted != null) { WorkCompleted(); } } } class subClass : BaseClass { private void DoSomeThingInSub() { //do something then to notify other class if (WorkCompleted != null) { WorkCompleted(); } } }
原标题:事件和委托(Event vs. Delegate)
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。