C#中委托和事件:别再傻傻分不清了
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
委托和事件是C#里最容易搞混的两个概念。今天用最通俗的方式讲清楚,看完你就懂了!一、一句话说清楚
二、委托:方法的快递员场景:计算器
要点:委托像快递员,把方法送到你需要的地方 三、事件:有规矩的委托场景:按钮点击
要点:事件比委托多了规矩——只能订阅,不能直接调用 四、区别一张表五、实战:用事件解耦
好处:订单服务不关心谁在听,新增通知不用改订单代码 六、常用写法
七、避坑指南坑1:忘了判空// 错误(可能崩) MyEvent?.Invoke();// 这样写 // 正确 MyEvent?.Invoke();// 加上问号 坑2:事件没取消订阅(内存泄漏)// 用完要取消MyEvent -= OnMyEvent; 八、面试一句话问:委托和事件的区别? 答:事件是封装好的委托,外面只能+=和-=,不能直接触发和赋值。就像银行卡(事件)和现金(委托),银行卡有密码保护,现金谁都能花。 阅读原文:https://mp.weixin.qq.com/s/uHfp_Dz9bfoXne-fBHXsfQ 该文章在 2026/3/6 9:13:11 编辑过 |
关键字查询
相关文章
正在查询... |