C#_事件
event
What

基于委托的存在
为委托的安全包裹
特殊的变量类型
只能作为成员存在于类、接口、结构体中
不能在类的外部赋值和调用,可以去添加和移除
在委托的基础上声明时添加event修饰

Why

为开发者提供便利
防止外部去随意置空委托
防止外外部去调用委托
事件也是对委托进行进一次的封装,会更加的安全

How

class MyClass{ public event Action myEvent;}
myclass.DoEvent();//DoEvent()是内部封装调用

Special

事件不能在外部赋值和调用,委托都可以
事件不可以作为临时变量,委托可以
事件在外部只可以用-=/+=赋值,f=f+m/f=f-m会会报错,是不允许的