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如何对用户密码进行加密
Jul 31 面试题
PHP面试题集
Dec 18 面试题
写出程序把一个链表中的接点顺序倒排
Apr 28 面试题
存储过程的优缺点是什么
Jan 10 面试题
触发器(trigger)的功能都有哪些?写出一个触发器的例子
Sep 17 面试题
linux比较文件内容的命令是什么
Sep 23 面试题
ShellScript面试题一则-ShellScript编程
Jun 24 面试题
数字天堂软件测试面试题
Dec 23 面试题
什么是组件架构
May 15 面试题
JPA的特点
Oct 25 面试题
解释i节点在文件系统中的作用
Nov 26 面试题
我们没有写servlet的构造方法,那么容器是怎么创建servlet的实例呢
Apr 24 面试题
如何在.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
两个强悍的php 图像处理类1
2009/06/15 PHP
php设计模式小结
2013/02/15 PHP
php 无法加载mcrypt.dll的解决办法
2013/04/03 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
JQuery在光标位置插入内容的实现代码
2010/06/18 Javascript
js获取location.href的参数实例代码
2013/08/02 Javascript
如何判断鼠标是否在DIV的区域内
2013/11/13 Javascript
Js表格万条数据瞬间加载实现代码
2014/02/20 Javascript
JS根据变量保存方法名并执行方法示例
2014/04/04 Javascript
jQuery中prevAll()方法用法实例
2015/01/08 Javascript
jQuery实现仿微软首页感应鼠标变化滑动窗口效果
2015/10/08 Javascript
Angularjs 自定义服务的三种方式(推荐)
2016/08/02 Javascript
js实现刷新页面后回到记录时滚动条的位置【两种方案可选】
2016/12/12 Javascript
从零学习node.js之详解异步控制工具async(八)
2017/02/27 Javascript
vue 封装自定义组件之tabal列表编辑单元格组件实例代码
2017/09/07 Javascript
ionic grid(栅格)九宫格制作详解
2018/06/30 Javascript
Vue项目添加动态浏览器头部title的方法
2018/07/11 Javascript
Angular Material Icon使用详解
2018/11/07 Javascript
Jquery和CSS实现选择框重置按钮功能
2018/11/08 jQuery
详解Vue This$Store总结
2018/12/17 Javascript
VuePress 静态网站生成方法步骤
2019/02/14 Javascript
Node.js一行代码实现静态文件服务器的方法步骤
2019/05/07 Javascript
python实现的重启关机程序实例
2014/08/21 Python
Python实现一个转存纯真IP数据库的脚本分享
2017/05/21 Python
对Python之gzip文件读写的方法详解
2019/02/08 Python
python打包exe开机自动启动的实例(windows)
2019/06/28 Python
Python如何自动获取目标网站最新通知
2020/06/18 Python
python读写数据读写csv文件(pandas用法)
2020/12/14 Python
使用CSS3设计地图上的雷达定位提示效果
2016/04/05 HTML / CSS
初三家长会邀请函
2014/01/18 职场文书
酒店总经理岗位职责
2014/03/17 职场文书
银行反洗钱宣传活动总结
2015/05/08 职场文书
归途列车观后感
2015/06/17 职场文书
运动会通讯稿300字
2015/07/20 职场文书
行为习惯主题班会
2015/08/14 职场文书
Windows 11要来了?微软文档揭示Win11太阳谷 / Win10有两个不同版本
2021/11/21 数码科技