首页 > 其他 > 详细

委托与事件--delegate&&event

时间:2019-10-07 20:26:47      阅读:94      评论:0      收藏:0      [点我收藏+]

委托

访问修饰符 delegate 返回值 委托名(参数);

public delegate void NoReturnNoPara();

public void NoReturnNoParaMethod() {};

delegate地位:密封类,继承自System.MulticastDelegate,内置几个方法:构造方法、Invoke等;

委托的实例化:NoReturnNoPara myD = new NoReturnNoPara(NoReturnNoParaMethod);

委托的调用:myD.Invoke(); 或 myD();

委托的核心:将方法作为参数传递;

委托的好处:委托解耦,减少重复代码;异步多线程;多播委托(一个委托可以‘挂’多个方法+= -=);

事件

定义:是带event关键字的委托实例

访问修饰符 event 委托名 事件名;

public event NoReturnNoPara NoReturnNoParaHandlerEvent;

使用范围:事件只能在声明的类中调用(子类都不能用),可以在类外部+= -=;

事件:可以把一堆可变的动作/行为封装出去,交给第三方来指定;

   程序设计的时候,我们可以把程序分成两部分,一部分是固定的,直接写死,还有不固定的部分,通过一个事件去开放接口,外部可以随意扩展动作。

框架:完成固定/通用部分,把可变部分留出扩展点,支持自定义

委托与事件--delegate&&event

原文:https://www.cnblogs.com/1016391912pm/p/11631864.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!