delegate与普通函数的区别


Posted in 面试题 onJanuary 22, 2014
Delegate 是一种函数指针,Delegate 与普通的函数指针的区别:
a) 一个 delegate object 一次可以搭载多个方法(methods)。当我们唤起一个搭载了多个方法(methods)的 delegate,所有方法以其“被搭载到 delegate object 的顺序”被依次唤起。
b) 一个 delegate object 所搭载的方法(methods)并不需要属于同一个类别。一个 delegate object 所搭载的所有方法(methods)必须具有相同的原型和形式。这些方法(methods)可以即有 static 也有 non-static,可以由一个或多个不同类别的成员组成。
c) 一个 delegate type 的声明在本质上是创建了一个新的 subtype instance,该 subtype 派生自 .NET library framework 的 abstract base classes Delegate 或 MulticastDelegate,它们提供一组 public methods 用以询访 delegate object 或其搭载的方法(methods)
声明 Delegate Type
一个 delegate type 的声明一般由四部分组成:(a) 访问级别;(b) 关键字 delegate;(c)返回型别,以及该 delegate type 所搭载之方法的声明形式(signature);(d) delegate type 的名称,被放置于返回型别和方法的声明形式(signature)之间。
C#虽然取消了指针的这个概念,但还是可以使用指针的, 只要声明这段代码是非安全的(Unsafe).C#为指针找到一个更为有用的引用类型—-代表元,它在C#类型里是十分安全的.在声明代表元时,只要指定代表元指向的原型的类型,它不能有返回值,也不能带回输出类型的参数.代表元可以封装一个静态方法,也可以封装一个非静态方法.

Tags in this post...

面试题 相关文章推荐
如何在Cookie里面保存Unicode和国际化字符
May 25 面试题
JMS中Topic和Queue有什么区别
May 15 面试题
益模软件Java笔试题
Mar 27 面试题
C语言面试题
May 19 面试题
递归计算如下递归函数的值(斐波拉契)
Feb 04 面试题
.NET方向面试题
Nov 20 面试题
.NET面试10题
Feb 24 面试题
C#如何判断当前用户是否输入某个域
Dec 07 面试题
Linux开机引导的步骤是什么
Feb 26 面试题
掌上明珠Java程序员面试总结
Feb 23 面试题
精选干货:Java精选笔试题附答案
Jan 18 面试题
一道Delphi面试题
Oct 28 面试题
如何在.net Winform里面显示PDF文档
Sep 11 #面试题
请解释接口的显式实现有什么意义
May 26 #面试题
.NET里面如何取得当前的屏幕分辨率
Dec 06 #面试题
请解释virtual关键字的含义
Jun 17 #面试题
System.Array.CopyTo()和System.Array.Clone()有什么区别
Jun 20 #面试题
shallow copy和deep copy的区别
May 09 #面试题
Ref与out有什么不同
Nov 24 #面试题
You might like
PHP4 与 MySQL 数据库操作函数详解
2006/10/09 PHP
完美解决php 导出excle的.csv格式的数据时乱码问题
2017/02/18 PHP
PHP获取中国时间(上海时区时间)及美国时间的方法
2017/02/23 PHP
Yii框架应用组件用法实例分析
2020/05/15 PHP
js, jQuery实现全选、反选功能
2017/03/08 Javascript
axios拦截设置和错误处理方法
2018/03/05 Javascript
vue和webpack项目构建过程常用的npm命令详解
2018/06/15 Javascript
从零开始实现Vue简单的Toast插件
2018/12/03 Javascript
layui自定义插件citySelect实现省市区三级联动选择
2019/07/26 Javascript
Vue内部渲染视图的方法
2019/09/02 Javascript
three.js 如何制作魔方
2020/07/31 Javascript
Python中的模块和包概念介绍
2015/04/13 Python
Python中的高级函数map/reduce使用实例
2015/04/13 Python
使用Python发送邮件附件以定时备份MySQL的教程
2015/04/25 Python
Python脚本实现自动发带图的微博
2016/04/27 Python
浅析Python中的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
对django xadmin自定义菜单的实例详解
2019/01/03 Python
Python3.5文件读与写操作经典实例详解
2019/05/01 Python
tensorflow没有output结点,存储成pb文件的例子
2020/01/04 Python
Python实现桌面翻译工具【新手必学】
2020/02/12 Python
Django import export实现数据库导入导出方式
2020/04/03 Python
基于TensorFlow的CNN实现Mnist手写数字识别
2020/06/17 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
2020/07/13 Python
python和node.js生成当前时间戳的示例
2020/09/29 Python
编写python代码实现简单抽奖器
2020/10/20 Python
python中用ggplot绘制画图实例讲解
2021/01/26 Python
Collection和Collections的区别
2016/05/02 面试题
汽车驾驶求职信
2013/10/25 职场文书
大学军训感言200字
2014/02/26 职场文书
爱国演讲稿500字
2014/05/04 职场文书
档案工作汇报材料
2014/08/21 职场文书
2015年城乡环境综合治理工作总结
2015/07/24 职场文书
团结友爱主题班会
2015/08/13 职场文书
python3 删除所有自定义变量的操作
2021/04/08 Python
MySQL限制查询和数据排序介绍
2022/03/25 MySQL
Apache Kafka 分区重分配的实现原理解析
2022/07/15 Servers