委托及事件
委托是一种类型.像类一样,可以声明委托类型变量.
匿名方法:通常只能用一次的方法,通常使用委托来实现.
委托的可以执行事件的事情,但是不安全.
委托可以直接调用
事件只能+=-=调用
事件语法:event ProcessWordDelegate
加上event关键字实现事件机制的好处:
用了event时间,不可以修改事件已经注册的值,不可以冒充事件进行事件通知.在IntUC外部就不能通过OnInt(3)的方式调用注册的委托 只能通过+=-=
定义委托这一步,系统默认是有的,不需要在做
委托和事件的区别:考试常考
委托和事件没有可比性,因为委托是数据类型,事件是对象,可以理解为对委托变量的封装
下面说的是委托的对象(用委托方式实现的时间)和(标准的event方式实现)事件的区别.事件的内部是用委托实现的.(举例子)三种实现事件的区别,直接用委托实现,用私有委托+公有方法模拟事件,直接用event事件实现
因为对于事件来讲,外部只能注册自己 +=,-=注销自己.外界不可以注销其他的注册者,外界不可以主动触发事件,因此如果用Delegate就没法进行上面的控制,因此诞生了事件的语法,add,Remove
事件是用来阉割委托实例的,事件只能add,renove自己,不能赋值,直接只能+=,-=不能=不能外部触发事件
委托的作用:
占位:在不知道将来要执行的方法的具体代码时,可以先用一个委托变量来代替方法调用
(委托的返回值,参数列表要确定)在实际调用之前,需要为这里写代码片
委托赋值,否则为null <