Event 事件
多播委托:任何一个委托都是 多播委托类型的子类,可以通过+= -= 给委托添加 或者减少实例方法,使得多播委托形成方法链,通过Invoke调用时 按顺序执行方法
1.事件的作用:对依赖太重的类型进行职责解耦
- 依赖太重:例如,当前方法中依赖了多个类型,任何类型的修改都要去修改这个方法
- 职责耦合:当前方法不仅需要维护自己的业务,还需要维护别的实例方法,任何调用方法的顺序修改 或者增加减少 都需要修改当前方法
如何解决?:只让当前方法执行自己的逻辑 ,以及其他方法的调用 不管逻辑顺序,调用的其他方法可以当作一组方法组 顺序 增加都在组中完成 这个似乎就是 多播委托;
事件是一个带有Event关键字的特殊委托,它具有委托的性质 ,但是 他的Invoke 和 赋值 只能在事件声明类中操作,不允许在外边操作 即使是子类 也不能操作,主要靠编译器支持这些性质
他的作用:
2.事件和委托的区别和联系
- 委托:
- 委托是一种类型 他继承自委托专属的类
- 事件:
- 而事件是委托的一个实例,加上了Event的权限控制
3.事件的理解
- 事件解决逻辑耦合的问题
- 把固定动作 和可变动作分离
- 搭建框架时,可以通过事件去分离可变动作,支持扩展

浙公网安备 33010602011771号