?? 顯式調用委托對象(高級).txt
字號:
優點:
1.捕獲對個對象的返回值。
2.調用委托時一個失敗,不會阻塞其它的。
GetInvocationList 返回委托對象列表,可以顯式調用委托鏈上的每個一個對象。
static void Main(string[] args)
{
Set.Feedback fb1=new Set.Feedback(App.FeedbackToConsole);
Set.Feedback fb2=new Set.Feedback(App.FeedbackToMsgBox);
Set.Feedback fbChain=(Set.Feedback)Delegate.Combine(fb1,fb2);
//返回調用鏈表
Delegate[] arrayOfDelegates=fbChain.GetInvocationList();
Set setOfItems=new Set(5);
StringBuilder report=new StringBuilder();
foreach(Set.Feedback fb in arrayOfDelegates)
{
try
{
setOfItems.ProcessItems(fb);
}
catch(Exception e)
{
Object component=fb.Target;
report.AppendFormat("Failed to ProcessItems form {1}{2}{0} Error:{3}{0}{0}",
Environment.NewLine,
((component==null)?"":component.GetType()+"."),
fb.Method.Name,e.Message);
Console.WriteLine(report.ToString());
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -