关于多点委托!

来源:百度知道 编辑:UC知道 时间:2024/04/30 03:35:57
请高人请一个很明显的多点委托例子好吗?
怎么感觉自己越学越糊涂!先是接口,我现在都不知道接口是干什么用的了!(嘻嘻,这个以后再问了!)感觉自己学习方法有问题,系统不起来!一味的抄书的章节!唉....

请问一下,多点委托是不是,必须声明为void?多点委托能有返回值吗?
比如
namespace aaaaa
{
delegate double a (double aa)
class addtwo
{
public static double ad2(double value)
{
return value*2;
}
public static double ad3(double value)
{
return value*value;
}
}
a=new a(addtwo.ad2);
a+=new a(addtwo.ad3);//这个地方不太明白,怎么实例返回,结果为addtwo.ad2的结果+addtwo.ad3的结果?
double result;
result=a(2.0);
Console.WriteLine(result);
}

委托不一定必须返回void, 但是事件必须是void因为你跟本无法得到它的返回值

如果相得到多点委托的每个结果可以做一个循环,比如
foreach (Delegate g in ds.GetInvocationList())
{
value = g.DynamicInvoke(new Object[]{1,2});
}