委托和事件

委托

委托是一个类,它定义了方法的类型,使得方法可以当做另一种方法的参数传递,就是方法的参数是一个委托变量,在调用此方法时,就可以把一个方法作为参数传递给委托变量。

1.创建委托访问修饰符 delegate 返回值类型 委托名(参数列表); 没有大括号

2.委托赋值 委托名 委托变量 = 方法名; 没有大小括号这个方法的参数和返回值类型 必须要和委托类型一致。

3.使用委托委托变量(参数列表);静态方法和普通方法都可以绑定

4.多播委托给委托绑定多个方法(方法类型必须一致)  使用 += 解除使用  -=委托名 委托变量 = 方法1;委托变量 += 方法2;使用多播委托绑定无返回值的方法时,会把绑定的方法都执行一次。使用多播委托绑定有返回值的方法是,也会将方法都执行一次,但是会覆盖第一个方法执行的结果,返回最后绑定方法的结果。

5.内置委托Action无返回值的委托 表示委托类型的参数类型是 T,T1....Func有返回值的委托 表示委托类型的参数类型是 T,T1,T2... 返回值类型是P

6.ref out 关键字

这些不能用在内置委托中,必须放在自定义的一般委托中

7.匿名方法

委托类型 委托变量 = delegate(参数列表){ 方法体; 有返回值要return; };

后面一定要加分号,因为这是一个赋值语句

8.Lambda表达式

委托类型 委托变量 = (参数列表)=> { 方法体; 有返回值要return; };

后面一定要加分号,因为这是一个赋值语句

事件

在创建委托变量的时候用event修饰 那么就是一个事件

委托与事件的区别:

委托可以声明为类成员 也可以是局部变量

事件只能是类成员

事件在类的外部访问时只能出现在 += 注册 或者 - =注销的左边 不能像使用委托那样直接执行

事件必须在所在的类里面才可以执行

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,534评论 19 139
  • 定义:委托是一种引用类型,表示对具有特定参数列表和返回类型的方法的引用。 在实例化委托时,你可以将其实例与任何具有...
    52718阅读 7,742评论 3 14
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 12,332评论 6 13
  • 区别: 委托是类型,事件是对象; 事件内部就是一个private的委托和add、remove两个方法; 委托可以在...
    _昨夜雨疏风骤阅读 324评论 0 0
  • 我们组有了突飞猛进的进步,早起的情况也越来越早。早起有什么好处呢,就像叶老师说的,每天可以和身体谈一次恋爱。当你站...
    凤Y阅读 225评论 0 0

友情链接更多精彩内容