关于C#委托和事件的粗浅理解

本文通过初学者视角解析C#中的委托和事件概念。委托类似于C++中的虚基类应用,支持多态和多播特性。事件则是对委托的一种封装形式,增加了安全性并限制了客户端对委托的直接访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于C#委托和事件的粗浅理解


第一次学习C#,老师一开始就要求学习委托和事件,一开始没有头绪,后来看了几篇教程和博客,渐渐有了一些自己的理解。如果还没有了解委托和事件的,推荐一篇很好很详细的博客
http://www.cnblogs.com/SkySoot/archive/2012/04/05/2433639.html


委托

首先,在我的理解当中,委托有点像一个C++中虚基类的应用或者指针,它可以指向它所派生出来的类的虚方法,并且根据派生类的不同,自然实现了多态。 而它与虚方法最大的不同,我认为就在于能够绑定多个委托,也就是多拖或者委托列表。而且它的扩展性非常好,也不需要继承这么麻烦,只需要函数的定义按照所要绑定的委托的形式就可以了
委托有一个需要注意的部分,就在于它第一次绑定要用 “=”, 而之后再新增绑定就要使用“+=”

事件

我认为,事件可以简单粗略的理解为一个委托类型的变量被封装了起来,当然这个封装的基础上,给这个变量增加了很多限制和很多功能,但是基本上就是委托类型所声明的一个变量了,从event的声明语句中,其实也可见一斑了。
这个封装很重要的一个作用就在于防止用户在客户端对委托变量就行随意的修改,限制用户的权限。需要特别注意的是,一个事件在被编译后,用于是private, 无论你的声明是private或者public的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值