观《深入理解C#》---委托和事件的区别
委托
- 委托封装了包含返回类型和一组参数的行为
- 委托实例是不易变的(类似string)
- 每个委托都包含了一个调用列表
事件
- 事件是对委托的封装,是一种特殊的委托,主要用于发布-订阅模式。事件提供了一种机制,使对象可以向其他对象通知发生了某种动作
- 事件通常在类内部声明,并通过该类的方法触发。在外部,其他类可以订阅(+=)或取消订阅(-=)这个事件,但不能直接触发它
事件跟属性类型,同样可以自定义“订阅”和“取消订阅”的方式,当要注意,自定义后,就无法正常Invoke这个事件了,只能Invoke指定的委托
private MyDelegate simpleDelegate; // 声明委托实例
public event MyDelegate simpleEvent
{
add
{
simpleDelegate += value;
}
remove
{
simpleDelegate -= value;
}
}
本文作者:陈侠云
本文链接:https://www.cnblogs.com/chenxiayun/p/18294023
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步