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

面试题 相关文章推荐
您熟悉ORM(Object-Relation Mapping)吗?请谈谈您所理解的ORM
Feb 08 面试题
如何在Cookie里面保存Unicode和国际化字符
May 25 面试题
精伦电子Java笔试题
Jan 16 面试题
什么造成了Java里面的异常
Apr 24 面试题
Sql面试题
Mar 20 面试题
阿里巴巴Oracle DBA笔试题答案-备份恢复类
Nov 20 面试题
如何利用cmp命令比较文件
Apr 11 面试题
什么是makefile? 如何编写makefile?
Aug 08 面试题
介绍一下Prototype的$()函数,$F()函数,$A()函数都是什么作用?
Mar 05 面试题
Python里面如何实现tuple和list的转换
Jun 13 面试题
JDBC操作数据库的基本流程是什么
Oct 28 面试题
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
May 30 面试题
如何在.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
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
2006/10/09 PHP
《PHP边学边教》(02.Apache+PHP环境配置――下篇)
2006/12/13 PHP
PHP下通过系统信号量加锁方式获取递增序列ID
2009/09/25 PHP
php实现用户在线时间统计详解
2011/10/08 PHP
php FLEA中二叉树数组的遍历输出
2012/09/26 PHP
PHP的变量类型和作用域详解
2014/03/12 PHP
PHP中使用file_get_contents post数据代码例子
2015/02/13 PHP
php限制ip地址范围的方法
2015/03/31 PHP
prototype 1.5 & scriptaculous 1.6.1 学习笔记
2006/09/07 Javascript
open 动态修改img的onclick事件示例代码
2013/11/13 Javascript
jquery实现的一个简单进度条效果实例
2014/05/12 Javascript
基于编写jQuery的无缝滚动插件
2014/08/02 Javascript
js点击文本框弹出可选择的checkbox复选框
2016/02/03 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
Bootstrap表单简单实现代码
2017/03/06 Javascript
jquery实现全选、全不选以及单选功能
2017/03/23 jQuery
JavaScript对象的特性与实践应用深入详解
2018/12/30 Javascript
小程序实现日历左右滑动效果
2019/10/21 Javascript
viewer.js一个强大的基于jQuery的图像查看插件(支持旋转、缩放)
2020/04/01 jQuery
jQuery实时统计输入框字数及限制
2020/06/24 jQuery
vue3.0 加载json的方法(非ajax)
2020/10/26 Javascript
Python IDE PyCharm的基本快捷键和配置简介
2015/11/04 Python
Python实现批量压缩图片
2018/01/25 Python
Pycharm导入Python包,模块的图文教程
2018/06/13 Python
python numpy 显示图像阵列的实例
2018/07/02 Python
python利用插值法对折线进行平滑曲线处理
2018/12/25 Python
python实现银联支付和支付宝支付接入
2019/05/07 Python
Python %r和%s区别代码实例解析
2020/04/03 Python
Python基于traceback模块获取异常信息
2020/07/23 Python
仓库理货员岗位职责
2013/12/18 职场文书
创业计划书六个要素
2013/12/26 职场文书
工程采购员岗位职责
2014/03/09 职场文书
民用住房租房协议书
2014/10/29 职场文书
2014年酒店服务员工作总结
2014/12/08 职场文书
教您怎么制定西餐厅运营方案 ?
2019/07/05 职场文书
golang 实现Location跳转方式
2021/05/02 Golang