【事件event】
工作中有很多类似场景,某件事儿发生后,会触发一系列的后续动作,但是又不想耦合,怎么办?用委托作为容器来保存多个动作,然后再一一的按顺序触发调用!
public Action CatMiaoHandler;
public event Action CatMiaoHandlerEvent;
委托的实例加上event关键字,也可以做到相同的效果,这就是事件。添加event关键字能保证实例的安全,避免赋值/invoke这种操作,只允许当前类调用,即使子类也不能调用!
事件与委托的区别与联系?委托是一个类型,比如Student类,而事件是是委托类型的实例,比如学生:陌生人/抬头看/麦克,这就是二者的核心区别与联系!