谈一谈C#事件的本质
来源:互联网 发布:淘宝怎么参加公益活动 编辑:程序博客网 时间:2024/05/21 15:46
委托和事件本身没有可比性,因为委托是类型,事件是对象,常在一起比较的是委托的对象(用委托方式实现的事件)和(标准的event方式实现)事件的区别。两者的关系是:事件的内部是用委托实现的。
因为对于事件来讲,外部只能“注册自己+=、注销自己-=”,外界不可以注销其他的注册者,外界不可以主动触发事件,因此如果用Delegate就没法进行上面的控制,因此诞生了事件这种语法。(个人觉得可以参考listbox的相关操作将其理解为listbox.items.add()和listbox.items.remove()操作。
事件是用来限制委托实例的。事件只能+=、-=,不能直接赋值,不能清空,不能外部触发事件。
假设我们定义了这一个委托
public delegate void MyDelegate();再定义该委托相关的事件:
public event MyDelegate Event;
相当于在后台实现了如下操作:
private MyDelegate OnEvent;public void Add(MyDelegate d){ OnEvent+=d;}public void Remove(yDelegate d){ OnEvent-=d;}
这就好理解了为什么事件只能+=,-=,而不能有其它的操作。
- 谈一谈C#事件的本质
- C#委托与事件的本质区别
- c#中点击事件的本质
- C#中事件的本质论
- 探寻C#事件本质
- C#事件-探寻事件本质
- 探寻C#事件本质1
- c# 继承的本质
- C#事件演示程序3)——体会事件更本质的东西
- Study C#《事件的本质》
- 127.谈一谈DNS劫持(钓鱼事件)的安全应对措施
- 事件Event的本质——未完
- 服务器,并发,“事件驱动”的本质
- C#类的索引器的本质
- 谈一谈stl的iterator
- 谈一谈失败的经历
- 谈一谈神奇的ShadowDOM
- C#集合只读效果的实现本质
- c语言中的连续输入问题
- 位操作 0x1 << 3
- 各种编程语言的来源及其特点
- MFC连接SQLServer2005数据库
- linux系统时间修改及其同步
- 谈一谈C#事件的本质
- android自动关机代码
- 三种字符串分割方法(C/C++)
- Android里面的匿名类与匿名内部类使用
- 送给前线码农的话 - 大牛们的经典语录--真的很经典 (键人岐)
- X86和X64
- 常用软件设置
- android 中实现任意方向的文字显示
- phpmyadmin 中 同时制定 % loaclhost 都能访问 该怎么写?