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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李帅 中级黑马   /  2012-8-3 10:42  /  1449 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

委托一般什么情况下使用,使用委托的目的是什么?有什么好处? 谢谢

评分

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

查看全部评分

4 个回复

倒序浏览
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, 有的时候一个方法可能需要另一个方法的支持,就可以定义个委托来传这个方法。

评分

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

查看全部评分

回复 使用道具 举报
我们可以把委托看成是一个执行方法的东西
我们使用委托可以把它看成一个类(它不是类),先声明在实例化
使用委托使程序员可以将方法引用封装在委托对象内。然后可以将该委托对象传递给可调用所引用方法的代码,而不必在编译时知道将调用哪个方法。与C或C++中的函数指针不同,委托是面向对象,而且是类型安全的

评分

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

查看全部评分

回复 使用道具 举报
委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。

评分

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

查看全部评分

回复 使用道具 举报
委托相当于一个临时工  你要做什么事情又没有时间去做 那么你交给他去做就可以了
委托传递的是参数名,我们学习委托,是为了解决线程问题 ,就是一个部门可以同时做多重事情
为线程的这个概念做基础。这个学好了,线程就简单许多了

评分

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

查看全部评分

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