黑马程序员技术交流社区

标题: 请教关于委托使用 [打印本页]

作者: 李帅    时间: 2012-8-3 10:42
标题: 请教关于委托使用
委托一般什么情况下使用,使用委托的目的是什么?有什么好处? 谢谢

作者: 许庭洲    时间: 2012-8-3 11:05
using System;
delegate double WeiTuo(double a, double b); //首先声明委托
class A
{
     static void Main(string[]args)
    {
          A  a1 = new A();
          WeiTuo wt = new WeiTuo(a1.Add);//然后实例化委托,注意参数是要使用的参数名,且不带括号
          Console.WriteLine(wt(1.23, 5.59));       //最后调用委托,调用委托的方法用委托的对象加参数
          Console.ReadLine();
     }
     //定义一个方法,求两个实数的和
      private double Add(double num1, double num2)
     {
          return (num1 + num2);
      }
}
1,从上面的例子可知,委托的作用就是用来传方法的;
2, 有的时候一个方法可能需要另一个方法的支持,就可以定义个委托来传这个方法。
作者: 李晋    时间: 2012-8-3 17:48
我们可以把委托看成是一个执行方法的东西
我们使用委托可以把它看成一个类(它不是类),先声明在实例化
使用委托使程序员可以将方法引用封装在委托对象内。然后可以将该委托对象传递给可调用所引用方法的代码,而不必在编译时知道将调用哪个方法。与C或C++中的函数指针不同,委托是面向对象,而且是类型安全的
作者: 郭张浩    时间: 2012-8-6 03:14
委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。
作者: 彭书雄    时间: 2012-8-6 23:28
委托相当于一个临时工  你要做什么事情又没有时间去做 那么你交给他去做就可以了
委托传递的是参数名,我们学习委托,是为了解决线程问题 ,就是一个部门可以同时做多重事情
为线程的这个概念做基础。这个学好了,线程就简单许多了




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