A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵力 中级黑马   /  2012-6-29 12:41  /  2188 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么要有委托 委托有什么作用和好处 ??
  百度了半天没明白  
msdn上这么说:委托用于将方法作为参数传递给其他方法。 事件处理程序就是通过委托调用的方法。 您可以创建一个自定义方法,当发生特定事件时某个类(例如 Windows 控件)就可以调用您的方法。
  直接调用方法不就可以了,为什么还要定义委托把方法作为参数来被调用。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

5 个回复

倒序浏览
委托是将函数原形(返回值是什么,参数有几个,各个参数的类型是什么)声明成类型的方法,好处就是可以把‘不同参数或不同返回值的函数’当成不同类型的值进行分类,并赋值。
委托是面向对象,而且还安全

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
1,当你需要把一个方法传送给其他方法时,可以考虑使用委托。好像不是很好理解;
2,也可以这样说,当你确定要处理一件事,但又不能确定处理方法时,可以考虑用委托。
3,其实单独的说委托的应用好像有点牵强,委托更多的是在事件中的应用。
4,举个例子吧,目的是理解委托的原理,
[  
   你想要吃饭,
   但是自己又不会做;//(委托方不知道实现细节),
   你计划找个小吃店,叫个西红柿牛腩盖饭;//(定义了一个委托)
   你决定找常去的那家叫做XXX的小吃店(实例化一个委托)
   你打电话给XXX小吃店;//(委托调用)
   XXX小吃店给你做好了你定的西红柿牛腩;//(代理函数工作)
   饭来了,真好。//委托执行结束
]

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
委托,就是制定什么情况下执行什么方法,就是你调用方法时,不确定什么情况下该用哪个,或者你需要写程序判断该用哪个方法,用委托的话就会省去判断。这样说还是难理解........委托就是方法的一个集合,可以通过这个集合在方法里调用方法,也就是可以把方法当做参数

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
其实我对委托也是一知半解,但看了 讲多线程的视频(【ASP.NET≠拖控件!】-传智播客ASP.NET高手之路视频教程01_单线程缺点和简单多线程操作  共6个视频)感觉和多线程联系起来还是有点用的,估计以后的项目实践应该还有更深的体会,你也可以看看,希望对你有帮助!

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
使用委托使程序员可以将方法引用封装在委托对象内。然后可以将该委托对象传递给可调用所引用方法的代码,而不必在编译时知道将调用哪个方法。与C或C++中的函数指针不同,委托是面向对象,而且是类型安全的。

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马