事件的语法
访问修饰符 + event + 委托类型 + 事件名;
例: public event Action myEvent;
事件的使用
事件的使用跟委托基本上一模一样,
1.但是事件不能在类外部直接赋值,只能使用 += 或 -= 添加或删除函数;
2.事件不能在类外部直接调用,只能在类内部封装后调用
3.事件不能作为函数中的临时变量,委托是可以的。
代码
public class Test2:MonoBehaviour
{public Action myFun;public event Action myEvent;public void MyEventMethod(){if (myEvent!=null){myEvent();}}}
public class Test3 : MonoBehaviour
{public Test2 test2;private void Start(){test2.myFun += FunTest1;test2.myEvent += FunTest2;test2.myFun();// test2.myEvent();不能直接调用test2.MyEventMethod();//只能间接调用}void FunTest1(){Debug.Log("测试方法1");}void FunTest2(){Debug.Log("测试方法2");}
}