C#实现全局的事件管理器

C#构建一个全局的事件管理器 管理器有两个主要部分组成 1.EventManager 2.DataArgs EventManager类 EventManager 是事件管理器的核心类,采用单例模式实现,有三个主要的成员方法,负责事件的添加,删除和触发。 AddEventListener 添加事件 RemoveEventListenter 删除事件 EventFire 触发事件 事件保存在一个字典eventsDict中, 以事件的名称作为字典的key,Value是一个列表,用来保存要触发执行方法 public class EventManager { private Dictionary<string, List<Action<DataArgs>>> eventsDict = new Dictionary<string, List<Action<DataArgs>>>(); private static EventManager instance = null; public static EventManager Instance { get { if(instance == null) { instance = new EventManager(); } return instance; } } public void AddEventListener(string eventName, Action<DataArgs> func) { if (eventsDict.ContainsKey(eventName) && eventsDict[eventName].Contains(func)) { Debug.WriteLine("event aready exist eventName=" + eventName + ", func=" + func....

April 21, 2022 · 2 min · 283 words · Link