2013-06-18 29 views
4

我在代碼中有一個關於委託的問題,我添加了三種委託方法。有返回一個字符串。在線在委託中獲取所有返回的字符串表單方法

string delOut = del(「Beer」);

我的寶貴DELOUT委託assignet這個「長度:4」

我怎麼能收集所有字符串方法委託回報?

public class NaForum 
{ 
    public delegate string MyDelegate(string s); 

    public void TestDel() 
    { 
     MyDelegate del = s => s.ToLower(); 
     del += s => s.ToUpper(); 
     del += s => string.Format("Length : {0}", s.Length); 

     string delOut = del("Beer"); 
     Console.WriteLine(delOut); 
    } 
} 

感謝您的任何答案。

回答

9

您需要使用Delegate.GetInvocationList:現在

var results = new List<string>(); 

foreach (MyDelegate f in del.GetInvocationList()) { 
    results.Add(f("Beer")); 
} 

results持有所有返回值的。

+0

謝謝你的幫助 – Zabaa

相關問題