delegate 与 event
2016-04-14 本文已影响0人
歌德与巴赫
相同点:
event是delegate 的一种特例。
区别点:
1、event可以在Interface中定义。而delegate不能。(Interface中只能定义Methods、Properties、Events。)
2、event【只能】在定义它的类之内调用,在定义它的类之外(包含子类)【只能】使用+=和-=操作。而delegate非常自由,没有此限制。并且delegate还可以使用=操作。
3、event更像是一个事件,而delegate更像是一个函数指针。
总的来讲:
event 就是受限制的delegate