翼度科技»论坛 编程开发 .net 查看内容

C#委托和事件

9

主题

9

帖子

27

积分

新手上路

Rank: 1

积分
27
1.委托

两大作用:(1)将方法当作参数传递(2)方法的一种多态(多播委托)一个弊端:委托可以使用=,+=,-=来发布订阅,所以这里有一个弊端,它可以使用“=”将所有已经订阅的取消,只保留=后的这一个订阅。这样如果让多个类中写的委托轻易就能被修改,让程序变得不安全,所以为了解决这个弊端,事件event应运而生。多说几句,委托和event的关系就类似于字段与属性的关系,我们都知道为了保护字段不被修改,所以使用属性的get和set去访问该字段而不是直接去给字段赋值。所以同理,event也只能通过add和remove访问器来访问委托,即+=,-=。所以我们可以说事件是委托的包装器。2.事件


如图,我觉得看到这张图就能搞懂事件了。
winform新建一个窗体Form1,它的里面新建一个名为myButton的按钮:
● 事件的拥有者:myButton对象。
● 事件:myButton.Click。
● 事件的响应者:窗体本身。
● 事件处理器:this.myButton_Click方法。
当你新建了一个事件时,这个事件就依此类比。
 
参考《深入浅出WPF》  彻底弄懂C#中delegate、event、EventHandler、Action、Func的使用和区别

来源:https://www.cnblogs.com/qingshanjianke/archive/2023/04/07/17296012.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具