.C#中的委托是什么?事件是不是一种委托?

 我来答
股城网客服
2022-12-07 · 专注科普财经基础知识
股城网客服
向TA提问
展开全部

分析如下:

1、委托是CTS(公共类型系统)规定的5种类型之一(类类型、结构类型、接口类型、枚举类型、委托类型)。

2、通俗的说,委托是这样一种类型:这种类型的实例,指向其它类型的方法。

委托主要就是提供间接调用、构建双向系统用的,他为消息模型和多线编程提供了基础。

3、再说说事件,事件并不是一种类型,它是一个方法,它是为了简化委托的注册而出现的。事件是一种委托,这是严重的误导!

拓展资料

1、我们知道委托是一个引用类型,所以它具有引用类型所具有的通性。它保存的不是实际值,而是保存对存储在托管堆(managedheap)中的对象的引用。那它保存的是对什么的引用呢?委托保存的是对函数(function)的引用。

2、对学过C/C++的人,是不是觉得跟函数指针很像呢!委托可以引用实例和静态(在VisualBasic中为Shared)方法,而函数指针只能引用静态方法。其实它们是有区别的,在非托管C/C++中,函数的地址就是一个内存地址。该地址不会携带任何额外的信息,例如函数期望的参数个数、参数类型、函数的返回值类型及函数的调用约定。总之,非托管C/C++中函数指针是非类型安全的。而.NET中的委托是类型安全的,委托会检测它所保存的函数引用是否和声明的委托匹配。

(资料来源:百度百科:委托)

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式