首页 > 代码库 > 委托事件的理解

委托事件的理解

委托是一种带有签名的类,需要用复合这个签名的静态函数或者非静态函数来初始化,就像楚怀王说:"先入秦关者望之"。此时还不知道谁会先入秦观,可能是刘邦,可能是项羽。等到时间发展到一定时机,结论出来了,这个事委托给刘邦了。前提是刘邦复合这个签名,先入秦关了。

事件和委托类似,只不过事件源于委托,声明的时候需要先定义一个委托类型。也就是委托和类同级,事件和类里的属性方法同一个级别。事件只能在定义该事件的类里被初始化和使用,除了+=和-=。而委托无此限制。事件更形象化,就像,反秦起义这个事件爆发了,触发了刘邦入秦关,然后项羽也入秦关这一系列处理。

 

delegate void MyDelegate();//-----------------0
MyDelegate aDelegare;//-----------------------1
                                                                                             
event MyDelegate aEvent;//-------------------2
0行相当于下面的代码
class MyDelegare:Delegate{//这段代码从来都是由系统自动生成,不可以手动写                 
}
上面代码12行中的 aDelegate aEvent 是一样的!