1,委托和事件没有可比性,因为委托是数据类型,事件是对象(可以理解为对委托变量的封装),
下面说的是委托的对象(用委托方式实现的事件)和(标准的event方式实现)事件的区别。事件的
内部是用委托实现的。(举例子:三种实现事件方式的区别(直接用委托实现,用私有委托+共有方法模拟事件,直接用event事件实现))
2.因为对于事件来讲,外部只能”注册自己+=,注销自己-=“
,外界不可以注销其他的注册者,外界不可以主动触发事件,因此如果用delegate就没法进行上面的控制,因此诞生了事件这种语法
add,remove
3.事件不用来阉割委托实例的,事件只能add,remove自己,不能赋值,事件只能+=,-=不能=,不能外部触发事件。
委托的作用:
占位,在不知道将来要执行的方法的具体代码时,可以先用一个委托变量来代替方法调用(委托的返回值,参数列表要确定)
,在实际调用之前,需要为委托赋值,否则为null。
事件的作用:
事件的作用与委托变量一样,只是功能上比委托变量有更多的限制。