委托是什么有什么作用(事件和委托的对比)

2025-03-28 20:32:47雷工笔记
01 事件概念事件是对象对外界信息的刺激产生的一种消息响应机制。本质:事件是委托的进一步包装。事件的参与者:①:发送者(sender):即对象本身,当是本身信息状态变化的时候,触发一个事件,并通知所有的接受者接收。②:接受者(Receiver):即事件的处理者,在事件发送者触发后,会自动执行的代码。


01 事件概念

事件是对象对外界信息的刺激产生的一种消息响应机制。

本质:事件是委托的进一步包装。

事件的参与者:

①:发送者(sender):即对象本身,当是本身信息状态变化的时候,触发一个事件,并通知所有的接受者接收。

②:接受者(Receiver):即事件的处理者,在事件发送者触发后,会自动执行的代码。

02 事件和委托对比

①事件无法直接赋值,(例事件=null,会出现编译错误)委托可以直接赋值(委托=null);

②event对象没有invoke()方法,只能通过使用括号的方式来运行。

03 委托和事件的选择

①正常解决问题,你使用委托和事件没有什么本质区别,所以建议是使用委托。

②若做控件二次开发,扩展控件的事件的时候,就必须使用事件。

04 委托与事件的区别

4.1、目的不同

①委托是一种类型安全的函数指针,它定义了一个方法的类型,允许将方法作为参数传递或赋值给变量。

②事件是委托的一种特殊用途,主要用于实现发布/订阅模式,用于在类或对象之间传递消息。

4.2、使用方式

①委托可以直接被实例化、赋值,并像调用普通方法一样调用。

②事件只能通过+=和-=操作符来订阅或取消订阅,不能直接调用。

4.3、封装程度

①委托的封装程度较低,可以很容易地访问和操作。

②事件的封装程度较高,隐藏了触发事件的细节,只提供了订阅和取消订阅的接口。

4.4、适用场景

①委托适用于需要传递方法作为参数或返回值的 场景,或者需要动态调用方法的场景。

②事件适用于需要实现发布/订阅模式的场景,特别是当需要在类或对象之间传递消息时。

相关文章

为什么有马桶的卫生间老是有味道(“卫生间”异味重?原因有这4点)
为什么面包机做的面包不松软
光纤为什么有三根线(光缆的芯数有哪些)
生石花为什么不开花(生石花多久开花?)
佛珠为什么是13颗(十三颗佛珠的含义)
烤箱为什么不亮一直有声响(电烤箱维修故障大全)
为什么浇水要浇透(“浇水也是一门学问 切记6点小技巧)
家用水泵为什么一直响(水泵噪音的来源及解决方法)
正月为什么不能搬家(为什么 过年不宜搬家 ?)
为什么电脑没有声音了(升级Win10系统后,电脑没声音?)
理财顾问需要做什么(“你好,我是理财顾问”)
投资管理是干什么的(企业该如何做好投资管理?)
借贷有什么要求(民间借贷中,出借人要注意的四件事)
银行出来干什么工作的(从银行离职,还能从事哪些类型的工作)
给人养卡有什么风险(“养卡”,当心构成犯罪要被追究刑责)
40万做什么投资比较好(5个小生意,月入万元不是梦)
什么是民间借贷公司(如何正确的选择民间借贷公司?)
信用卡有什么区别吗(信用卡借款和消费借款有何区别)
热门推荐