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...

面试题 相关文章推荐
可以在一个PHP文件里面include另外一个PHP文件两次吗
May 22 面试题
请介绍一下Ant
Jul 22 面试题
C++:局部变量能否和全局变量重名
Mar 03 面试题
用C或者C++语言实现SOCKET通信
Feb 24 面试题
实现向右循环移位
Jul 31 面试题
一套.net面试题及答案
Nov 02 面试题
能否解释一下XSS cookie盗窃是什么意思
Jun 02 面试题
What's the difference between Debug and Trace class? (Debug类与Trace类有什么区别)
Sep 10 面试题
西安当代医院管理研究院笔试题
Dec 11 面试题
什么是JNDI的上下文?如何初始化JNDI上下文
Mar 10 面试题
Prototype是怎么扩展DOM的
Oct 01 面试题
介绍下java.util.Arrays类
Oct 16 面试题
如何在.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
shopex中集成的站长统计功能的代码简单分析
2011/08/11 PHP
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
2012/01/03 PHP
深入浅析PHP无限极分类的案例教程
2016/05/09 PHP
thinkPHP中配置的读取与C方法详解
2016/12/05 PHP
基于jquery的设置页面文本框 只能输入数字的实现代码
2011/04/19 Javascript
jWiard 基于JQuery的强大的向导控件介绍
2011/10/28 Javascript
解析img图片没找到onerror事件 Stack overflow at line: 0
2013/12/23 Javascript
Javascript四舍五入Math.round()与Math.pow()使用介绍
2013/12/27 Javascript
js键盘事件的keyCode
2014/07/29 Javascript
js 判断一组日期是否是连续的简单实例
2016/07/11 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
angular十大常见问题
2017/03/07 Javascript
在 Node.js 中使用 async 函数的方法
2017/11/17 Javascript
微信小程序实现手指触摸画板
2018/07/09 Javascript
nodejs分离html文件里面的js和css的方法
2019/04/09 NodeJs
解决layui富文本编辑器图片上传无法回显的问题
2019/09/18 Javascript
[02:26]DOTA2英雄米拉娜基础教程
2013/11/25 DOTA
shelve  用来持久化任意的Python对象实例代码
2016/10/12 Python
浅谈Matplotlib简介和pyplot的简单使用——文本标注和箭头
2018/01/09 Python
Python基于多线程实现ping扫描功能示例
2018/07/23 Python
padas 生成excel 增加sheet表的实例
2018/12/11 Python
Python Pandas 如何shuffle(打乱)数据
2019/07/30 Python
python如何实现单链表的反转
2020/02/10 Python
Python优秀开源项目Rich源码解析的流程分析
2020/07/06 Python
pytorch 计算Parameter和FLOP的操作
2021/03/04 Python
5个你不知道的HTML5的接口介绍
2013/08/07 HTML / CSS
YesStyle美国/全球:购买亚洲时装、美容化妆品和生活百货
2017/01/16 全球购物
香蕉共和国加拿大官网:Banana Republic加拿大
2018/08/06 全球购物
前台接待的工作职责
2013/11/21 职场文书
演讲稿怎么写
2014/01/07 职场文书
医院实习接收函
2014/01/12 职场文书
《风娃娃》教学反思
2014/04/19 职场文书
计生办班子群众路线教育实践活动个人对照检查材料思想汇报
2014/10/04 职场文书
会计工作总结范文2014
2014/12/23 职场文书
酒店客房服务员岗位职责
2015/04/09 职场文书
《思路决定出路》读后感3篇
2019/12/11 职场文书