📄 显式调用委托对象(高级).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 + -