你的位置:首页 > 软件开发 > ASP.net > 事件和委托(Event vs. Delegate)

事件和委托(Event vs. Delegate)

发布时间:2015-11-06 11:00:04
引言 关于事件和委托的文章看过很多,但总是记不完整。尤其是在给别人讲解的时候总是很零碎,所以在此整理一下,也供大家参考,很请大家不吝赐教。 本文从一个子类如何触发基类的事件(Event),引出事件和委托的共性和区别。再简单分析下背后原因,深层原因也给大家提供了部分参考资料。欢迎大 ...

引言

关于事件和委托的文章看过很多,但总是记不完整。尤其是在给别人讲解的时候总是很零碎,所以在此整理一下,也供大家参考,很请大家不吝赐教。

本文从一个子类如何触发基类的事件(Event),引出事件和委托的共性和区别。再简单分析下背后原因,深层原因也给大家提供了部分参考资料。欢迎大家留言讨论。

事件和委托(Event vs. Delegate)

 

问题

“如果我想在子类里触发父类的事件(Event)应该如何实现?”(可以先自己做下或者想下,再继续看您的做法是否也曾有我碰到技术误区)

 

问题分解为两步:

  1. 父类定义了一个事件(Event)
  2. 子类触发父类中定义的这个事件(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 (#换成@)。

可能感兴趣文章

我的浏览记录