我正在从 Web 学习 C#,在练习参数数组作为参数和委托并四处玩耍时,我想出了一段代码,它是死胡同,或者我不知道该怎么做。
(我不是想写任何东西,也不是为了某事,我只是在学习和写任何东西:))
是否可以将存储在列表中的方法传递给委托然后调用?
(ps:请忽略我忽略了静态的事实,它不会像这样运行(或永远不会))
delegate void one();
delegate void two();
delegate void three();
one Del01 = new one(d1);
two Del02 = new two(d2);
three Del03 = new three(d3);
delegate void newD();
newD getdelegatesfromlist;
void Main(string[] args)
{
List<Delegate> mergedelegates = mergedels(Del01,Del02,Del03);
foreach(Delegate d in mergedelegates)
{
getdelegatesfromlist = new newD(????);
//then maybe invoke the delegate?
getdelegatesfromlist(); //??
}
}
List<Delegate> mergedels(params Delegate[] dels)
{
List<Delegate> dellist = new List<Delegate>();
foreach(Delegate d in Dels)
{
dellist.Add(d);
}
return dellist;
}
void d1(){...}
void d2(){...}
void d3(){...}