请选择 进入手机版 | 继续访问电脑版

马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

C#之委托篇【至尊门花花】

  [复制链接]
查看16269 | 回复14 | 2014-12-15 22:42:26 | 显示全部楼层 |阅读模式
本帖最后由 修身以求齐家 于 2014-12-15 22:44 编辑

1.命名规范
delegate 是关键词,【注:EventHandler是一个声明委托的微软C#的命名标准,我的习惯是标准就要第一时间说,也就这个命名习惯要第一时间养成】
2.定义委托
public(访问修饰符) delegate(委托) int(返回类型) CallEventHandler(int num1,int num2);
3.实例化委托
CallEventHandler call = new CallEventHandler(加入需要关联的方法);
4.调用委托
int result = call(5,3)
5.意义:在于动态调用方法。委托是兑方法的引用,相当于方法的别名,也就是说委托与方法具有相同的行为。
6.理解:
在现实生活中,委托只是个命令,做事情是别人,而在程序世界里委托只是存储了各个方法的地址,而他自己也是什么也不做的。
那我们就把刚才那个,小明委托小张去买车票的现实生活场景,怎么在程序世界里体现呢?
7.扩展
既然给委托可以绑定一个方法,那么也应该有办法取消对方法的绑定,很容易想到,这个语法是“-=”;
8.介绍
   委托(delegate)是一种引用类型,我们在处理他的时候要当作类来看待而不是方法,说白了委托就是对方法或者方法列表的引用,调用一个委托实例就好像是调用c++中的指针一样,他封装了对制定方法的引用,或者说委托起到的是桥梁的作用,实例后的委托对象会将给定的参数传递给他所回调的方法,并去执行方法。

花花带你们装逼带你们飞(原版花花教程IBC论坛所有)

委托事例

委托事例
桂林一枝花 | 2014-12-15 23:44:19 | 显示全部楼层
龍息 发表于 2014-12-15 23:16
板凳坐坐~求解第三步调用委托,buyEventHandler不是一个被实例化的对象么,总么用调用函数的方法调用的?

委托是对方法的引用,相当于方法的别名,也就是说委托与方法具有相同的行为。第五点委托的意义讲得很清楚
桂林一枝花 | 2014-12-15 22:46:08 | 显示全部楼层
沙发留给自己。。
ibcadmin | 2014-12-15 22:55:34 | 显示全部楼层
那我就是板凳
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
songyusb | 2014-12-15 22:56:35 | 显示全部楼层
那我是什么
龍息 | 2014-12-15 23:16:40 | 显示全部楼层
板凳坐坐~求解第三步调用委托,buyEventHandler不是一个被实例化的对象么,总么用调用函数的方法调用的?

点评

委托是对方法的引用,相当于方法的别名,也就是说委托与方法具有相同的行为。第五点委托的意义讲得很清楚  详情 回复 发表于 2014-12-15 23:44
meng | 2014-12-15 23:18:10 | 显示全部楼层
顶师傅
惜鑫 | 2014-12-16 13:23:13 | 显示全部楼层
看标题我以为是相同帖子呢
xf772380342 | 2014-12-22 09:43:07 | 显示全部楼层
顶顶,精简明了,比书上讲的更为简单

点评

能理解就好。。。。  详情 回复 发表于 2014-12-22 21:29
桂林一枝花 | 2014-12-22 21:29:58 | 显示全部楼层
xf772380342 发表于 2014-12-22 09:43
顶顶,精简明了,比书上讲的更为简单

能理解就好。。。。
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则