博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
c#委托是什么?事件是不是一种委托?
阅读量:6218 次
发布时间:2019-06-21

本文共 401 字,大约阅读时间需要 1 分钟。

C#的委托是CTS(公共类型系统)规定的5中类型之一(类类型、结构类型、接口类型、枚举类型、委托类型)。它类似于c或c++中的函数的指针,但函数指针只能引用静态方法,而委托既能引用静态方法,也能引用实例方法。委托是存在有对某个方法的引用的一种引用类型变量(也就是委托类型),引用可在运行是被修改。

   C#的事件并不是委托的一种,在网上查了许多资料,许多人认为事件是一种特殊的委托,但是并非如此。事件(Event) 基本上可以说是一个用户操作,如按键、点击、鼠标移动等等,或者是一些系统生成的通知。事件使用的是发布和订阅的模型,也就是说声明事件的类为发布器,而需要对这个事件进行处理的类则为订阅器,那订阅器要怎么知道这个事件是否发生了呢?这个时候就用到了委托,委托负责告诉订阅器事件发生了,并告诉他要调用哪个方法,委托其实是发布器和订阅器之间的一个桥梁。

   所以事件的实现依赖于委托,但事件并非是委托的一种。

转载地址:http://szlja.baihongyu.com/

你可能感兴趣的文章
C语言学习笔记 (001) - 常量指针与指针常量的区别(转帖)
查看>>
【IntelliJ Idea】idea下hibernate反向生成工具,根据数据表生成实体
查看>>
scala中隐式转换之隐式值和隐式视图
查看>>
Java 实例
查看>>
weblogic多池与oracle集群RAC
查看>>
php类库安装xml simplexml
查看>>
Asp.Net SignalR Hub集线器
查看>>
关于集成抽取进程重启后的现象分析
查看>>
56.如何清除已经设置的npm config配置
查看>>
028——VUE中事件修饰符once
查看>>
FineUIPro v5.1.0 发布了!
查看>>
easyui的日期控件
查看>>
[WPF 容易忽视的细节] —— Exception in WPF's Converter
查看>>
网易严选的wkwebview测试之路
查看>>
Dubbo高可用
查看>>
折叠代码块 C#中用 #region和#endregion java中用 //region和//endregion
查看>>
高性能mysql学习笔记
查看>>
[ffmpeg] 音频样本
查看>>
jQuery 3D圆盘旋转焦点图 支持鼠标滚轮
查看>>
非常实用全面的 C++框架,库类等资源
查看>>