c#中事件注册多个委托并获取委托列表
using System;
namespace 委托和事件
{
? ? internal class Program
? ? {
? ? ? ? private static void Main(string[] args)
? ? ? ? {
? ? ? ? ? ? Action action = One;
? ? ? ? ? ? action += Two;
? ? ? ? ? ? action += Three;
? ? ? ? ? ? Delegate[] delegates = action.GetInvocationList(); //返回委托掛接的方法,通過他可以控制委托方法執行順序
? ? ? ? ? ? foreach (Action delegateAction in delegates)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? try
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? delegateAction();
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? catch (Exception ex)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? Console.WriteLine(ex.Message);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ? Console.Read();
? ? ? ? }
? ? ? ? private static void One()
? ? ? ? {
? ? ? ? ? ? Console.WriteLine("調用:方法一");
? ? ? ? ? ? throw new Exception("Err in one");
? ? ? ? }
? ? ? ? private static void Two()
? ? ? ? {
? ? ? ? ? ? Console.WriteLine("調用:方法二");
? ? ? ? }
? ? ? ? private static void Three()
? ? ? ? {
? ? ? ? ? ? Console.WriteLine("調用:方法三");
? ? ? ? }
? ? }
}
?
總結
以上是生活随笔為你收集整理的c#中事件注册多个委托并获取委托列表的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#-利用Marshal类实现序列化
- 下一篇: c#子线程和主线程创建窗体时顶层显示的区