Fork me on Github

委托和事件的区别

1.本质:委托是类型安全的函数指针,可以指向一个或多个方法。事件是对委托的封装,提供受控的发布-订阅模型。

2.关键字:delegate和event。

3.访问权限:委托公有或私有,可被外部直接调用或赋值。事件外部只能通过 += 和 -= 订阅/取消订阅,触发权仅限于声明事件的类内部。

4.设计原则

  • ​优先使用事件:
    当需要实现发布-订阅模型(如 UI 交互、模块解耦)时,事件能提供更安全的封装。
  • 直接使用委托:
    当需要灵活传递方法(如回调参数)或手动管理多播调用时,委托更合适。
特性​​委托​​事件​
封装性
外部触发权限
多播支持
空引用处理 手动检查 自动处理
典型用途 回调、动态调用 发布-订阅模式
posted @ 2025-11-26 20:08  昂昂呀  阅读(0)  评论(0)    收藏  举报