C#_事件
event
What

基于委托的存在
為委托的安全包裹
特殊的變量類型
只能作為成員存在于類、接口、結(jié)構(gòu)體中
不能在類的外部賦值和調(diào)用,可以去添加和移除
在委托的基礎(chǔ)上聲明時(shí)添加event修飾

Why

為開(kāi)發(fā)者提供便利
防止外部去隨意置空委托
防止外外部去調(diào)用委托
事件也是對(duì)委托進(jìn)行進(jìn)一次的封裝,會(huì)更加的安全

How

class MyClass{ public event Action myEvent;}
myclass.DoEvent();//DoEvent()是內(nèi)部封裝調(diào)用

Special

事件不能在外部賦值和調(diào)用,委托都可以
事件不可以作為臨時(shí)變量,委托可以
事件在外部只可以用-=/+=賦值,f=f+m/f=f-m會(huì)會(huì)報(bào)錯(cuò),是不允許的
標(biāo)簽: