委托也是一个类,委托是函数的指针。使用delegate定义委托,指向一个函数
委托的签名要和引用的方法的签名(参数类型、参数个数、返回值)一致,委托链:使用+=将一个委托实例指向多个方法,最先执行的方法就是最先指向的方法。
委托和事件没有可比性,因为委托是类型,事件是属性(对象),下面说的是委托的对象(用委托方式实现的事件)和(标准的event方式实现)事件的区别。事件的内部是用委托实现的。
因为对于事件来讲,外部只能“注册自己+=、注销自己-=”,外界不可以注销其他的注册者,外界不可以主动触发事件,因此如果用Delegate就没法进行上面的控制,因此诞生了事件这种语法。
事件是用来阉割委托实例的,类比用一个自定义类阉割List。事件只能add、remove自己,不能赋值。事件只能+=、-=,不能=
委托的签名要和引用的方法的签名(参数类型、参数个数、返回值)一致,委托链:使用+=将一个委托实例指向多个方法,最先执行的方法就是最先指向的方法。
委托和事件没有可比性,因为委托是类型,事件是属性(对象),下面说的是委托的对象(用委托方式实现的事件)和(标准的event方式实现)事件的区别。事件的内部是用委托实现的。
因为对于事件来讲,外部只能“注册自己+=、注销自己-=”,外界不可以注销其他的注册者,外界不可以主动触发事件,因此如果用Delegate就没法进行上面的控制,因此诞生了事件这种语法。
事件是用来阉割委托实例的,类比用一个自定义类阉割List。事件只能add、remove自己,不能赋值。事件只能+=、-=,不能=