委托与事件区别

委托与事件区别

  • 总览
  • 具体分析
  • 委托实例与事件区别
  • 总结

总览

序号区别委托事件
1赋值方式=或+=+=
2调用范围类内+类外类内
3是否为类型

具体分析

1.委托可以把一个方法作为参数代入另一个方法。 委托可以理解为函数指针。
2.委托和事件没有可比性,因为委托是类型,事件是对象,委托实例才是对象。
3.其实事件是委托实例的特殊情况,加了event(事件)修饰之后,委托就被阉割了,假设这个加了修饰符的事件称为事件1,事件只能注册与注销,不可在类外调用。

委托实例与事件区别

委托的对象(用委托方式实现的事件)和(标准的event方式实现)事件的区别。

事件的内部是用委托实现的。因为对于事件来讲,外部只能“注册自己+=、注销自己-=”,外界不可以注销其他的注册者,外界不可以主动触发事件,因此如果用Delegate就没法进行上面的控制,因此诞生了事件这种语法。

事件是用来阉割委托实例的,类比用一个自定义类阉割List。事件只能add、remove自己,不能赋值。事件只能+=、-=,不能= 。事件内部就是一个private的委托和add、remove两个方法。

总结

从面向对象来说,从设计角度来看委托与事件:类内使用委托,类之间使用事件,保证类的封装
在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部