黑马程序员技术交流社区

标题: 为什么要有委托? [打印本页]

作者: 赵力    时间: 2012-6-29 12:41
标题: 为什么要有委托?
为什么要有委托 委托有什么作用和好处 ??
  百度了半天没明白  
msdn上这么说:委托用于将方法作为参数传递给其他方法。 事件处理程序就是通过委托调用的方法。 您可以创建一个自定义方法,当发生特定事件时某个类(例如 Windows 控件)就可以调用您的方法。
  直接调用方法不就可以了,为什么还要定义委托把方法作为参数来被调用。
作者: 平建    时间: 2012-6-29 12:46
委托是将函数原形(返回值是什么,参数有几个,各个参数的类型是什么)声明成类型的方法,好处就是可以把‘不同参数或不同返回值的函数’当成不同类型的值进行分类,并赋值。
委托是面向对象,而且还安全
作者: 许庭洲    时间: 2012-6-29 12:51
1,当你需要把一个方法传送给其他方法时,可以考虑使用委托。好像不是很好理解;
2,也可以这样说,当你确定要处理一件事,但又不能确定处理方法时,可以考虑用委托。
3,其实单独的说委托的应用好像有点牵强,委托更多的是在事件中的应用。
4,举个例子吧,目的是理解委托的原理,
[  
   你想要吃饭,
   但是自己又不会做;//(委托方不知道实现细节),
   你计划找个小吃店,叫个西红柿牛腩盖饭;//(定义了一个委托)
   你决定找常去的那家叫做XXX的小吃店(实例化一个委托)
   你打电话给XXX小吃店;//(委托调用)
   XXX小吃店给你做好了你定的西红柿牛腩;//(代理函数工作)
   饭来了,真好。//委托执行结束
]

作者: 程艳伟    时间: 2012-7-1 13:06
委托,就是制定什么情况下执行什么方法,就是你调用方法时,不确定什么情况下该用哪个,或者你需要写程序判断该用哪个方法,用委托的话就会省去判断。这样说还是难理解........委托就是方法的一个集合,可以通过这个集合在方法里调用方法,也就是可以把方法当做参数
作者: 肖琦    时间: 2012-7-1 21:34
其实我对委托也是一知半解,但看了 讲多线程的视频(【ASP.NET≠拖控件!】-传智播客ASP.NET高手之路视频教程01_单线程缺点和简单多线程操作  共6个视频)感觉和多线程联系起来还是有点用的,估计以后的项目实践应该还有更深的体会,你也可以看看,希望对你有帮助!
作者: xiaozehope    时间: 2012-7-2 00:23
使用委托使程序员可以将方法引用封装在委托对象内。然后可以将该委托对象传递给可调用所引用方法的代码,而不必在编译时知道将调用哪个方法。与C或C++中的函数指针不同,委托是面向对象,而且是类型安全的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2