我正在從Web上學習C#,並在參數數組作爲參數和委託並玩弄時提出了一段代碼,這段代碼是死路一條,或者我不知道如何去做。將列表中的方法傳遞給委託?
(我不是要寫什麼也不是的東西,我只是學習,寫什麼:))
是否有可能通過存儲在列表中的委託方法,然後調用?
(PS:PLZ忽視的是,我離開了靜,也不會這樣運行了(或者從來沒有))
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(){...}
是吧'dels'在'foreach(代表dels)',因爲我看不到一個allDels變量? – Karthik
是的,這很抱歉。 – Erkan