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

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颗(十三颗佛珠的含义)
烤箱为什么不亮一直有声响(电烤箱维修故障大全)
为什么电脑开不了机显示屏没反应(win11开机桌面无响应怎么办)
热门推荐