Unity 中事件(Event)与委托(Delegate)的区别
在 Unity 的 C# 编程中,委托和事件是实现回调机制的核心组件,但二者在功能和使用上有显著差异。以下是系统化的对比分析:
1. 委托(Delegate)的本质
委托是类型安全的函数指针,本质是引用方法的类。
核心特性:
- 可独立声明和调用:
public delegate void MyDelegate(); - 支持多播(+=/-=):同时绑定多个方法
MyDelegate myDel = MethodA; myDel += MethodB; // 多播绑定 myDel(); // 同时调用 MethodA 和 MethodB - 无访问限制:外部可直接调用或重新赋值
public MyDelegate del; // 外部代码可随意修改:del = null; 或 del();
2. 事件(Event)的本质
事件是基于委托的封装器,本质是受限制的委托字段。
核心特性:
- 通过
event关键字声明:public event MyDelegate OnAction;
Unity事件与委托区别解析

最低0.47元/天 解锁文章
6753

被折叠的 条评论
为什么被折叠?



