C#的委托有什么用,依赖于什么情况而存在的一个概念——也就是其存在的必要性和优越性体现在哪里

请用具体的实例演示说明一下... 请用具体的实例演示说明一下 展开
 我来答
子丶夜
推荐于2016-02-13 · TA获得超过397个赞
知道小有建树答主
回答量:326
采纳率:25%
帮助的人:219万
展开全部
因为普通调用很多功能实现不了,所以出现委托

委托是C#中最为常见的内容。与类、枚举、结构、接口一样,委托也是一种类型。类是对象的抽象,而委托则可以看成是函数的抽象。一个委托代表了具有相同参数列表和返回值的所有函数。

可以实现异步线程操作UI,可以实现观察者模式等,可以将方法当作参数操作等
例如:
我们要为void Do(int a, double b) 的方法创建委托
定义委托:
delegate void DelegateHandler(int a, double b);

public class Test {
public void DelegateTest(int a, double b) {
Console.WriteLine("a = {0}, b = {1}", a, b);
}
}
有上面的方法,可以用它对委托变量赋值了。
Test t = new Test();
DelegateHandler handler = t.DelegateTest;
handler(1, 2);

比如Winform 异步线程更新UI
this.Invoke(new Action(Delegate{
this.textBox1.Text = "1";

}))
nnagou10
2015-02-03 · TA获得超过131个赞
知道小有建树答主
回答量:125
采纳率:0%
帮助的人:77.4万
展开全部
个人理解:
不用委托,如何解决重用性问题?
C#里面预置了很多方法是调用委托的,具体实现过程由其他开发者自行设计,这样也比较灵活。如果这些方法不调用委托,而是传参数的话,那微软的开发人员还不疯掉啊,无论设计多少个方法,都无法满足其他开发者的要求啊。
比如某些预置的排序、比较,就是调用委托的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式