1、事件应该用引发(Raise),不应用调用(Invoke)。
2、调用多个委托直接用多播委托即可(MulticastDelegate),所有的委托类型都继承于多播委托,所以都可以+和-来组合成多播委托。
3、事件的默认实现是个多播委托,事件可以使用+=和-=来注册和移除委托,内部则是对一个多播委托直接操作。
4、事件是可以自定义+=和-=的行为的,也就是说可以不使用多播委托来实现,譬如说你可以用并发通知来实现事件,也就是把委托都丢到不同的Task里面去一起调用。
5、委托和事件的区别在于,事件是个规约,委托是个实现(当然抽象上的委托也可以不是个具体的实现)。规约的含义是,我定义了这么个语法,你可以通过+=和-=把委托挂载到这个东西(事件)上,当发生这个事件的时候,我会确保这些委托都被得到调用。但是具体是怎么调用的,你不用关心。