简介
总结学习下委托和事件相关知识与用法
- Delegate很灵活,特殊类型需求
- Action无返回值,可带参数
- Func有返回值,可带参数
- Predicate通常用于集合判断是否符合条件
- Event事件封装好利于项目管理
- 可以多使用Action或者Func与Event结合
- UnityAction继承自Action,就是封装好的委托,一模一样
- UnityEvent不带参数直接实例化,带参数是抽象类需要自己声明类继承使用
1. Delegate
- 定义
- 前面需要声明公有还是私有,类似函数
- 增加关键词delegate,设定返回值类型,设置参数
- 参数与返回值类型需与委托函数相同
//无参数无返回值
public delegate void testDelegate();
private testDelegate TestDelegate;
//有参数有返回值
public delegate bool testDelegate(int i);
private testDelegate TestDelegate;
- 使用
- 简单使用
void Start()
{
//TestDelegate = new testDelegate(TestFunction);
//TestDelegate += TestFunction;