public void Run(Object sender, MsgEventArgs args) { if (appEventHandler != null) { appEventHandler(sender, args); } #region 去除那些只绑定一次处理事件的对象 for (int i = 0; i < Receivers.Count; i++) { try { MsgReceiver item = Receivers[i]; if (item == null) { continue; } if (item.IsOnce) { AppEventHandler -= item.appEventHandler; Receivers.Remove(item); } } catch { Console.WriteLine("去除接受者对象列表中内容错误!"); } } #endregion }
public void RemoveListener(MsgReceiver receiver) { for (int i = 0; i < Receivers.Count; i++) { MsgReceiver item = Receivers[i]; if (item.ReceiverObj == receiver.ReceiverObj) { AppEventHandler -= item.appEventHandler; Receivers.Remove(item); return; } } }
public void RemoveListener(string msgType, EventHandler <MsgEventArgs> func, object _receiver) { if (eventsList.ContainsKey(msgType) == false) { return; } MsgEventProvider msgEventProvider = eventsList[msgType]; #region 构建消息接受者对象 MsgReceiver receiver = new MsgReceiver(); receiver.IsOnce = true; receiver.ReceiverObj = _receiver; receiver.appEventHandler = func; #endregion msgEventProvider.RemoveListener(receiver); }
public void AddListener(string msgType, EventHandler <MsgEventArgs> func, object _receiver, bool isOnce) { if (eventsList.ContainsKey(msgType) == false) { MsgEventProvider _msgEventProvider = new MsgEventProvider(msgType); eventsList.Add(msgType, _msgEventProvider); } MsgEventProvider msgEventProvider = eventsList[msgType]; #region 构建消息接收对象 MsgReceiver receiver = new MsgReceiver(); receiver.IsOnce = isOnce; receiver.ReceiverObj = _receiver; receiver.appEventHandler = func; #endregion msgEventProvider.AddListener(receiver); }
public void RemoveListener(string msgType, EventHandler<MsgEventArgs> func,object _receiver) { if (eventsList.ContainsKey(msgType) == false)return; MsgEventProvider msgEventProvider = eventsList[msgType]; #region 构建消息接受者对象 MsgReceiver receiver = new MsgReceiver(); receiver.IsOnce = true; receiver.ReceiverObj = _receiver; receiver.appEventHandler = func; #endregion msgEventProvider.RemoveListener(receiver); }
public void AddListener(string msgType,EventHandler<MsgEventArgs> func, object _receiver, bool isOnce) { if (eventsList.ContainsKey(msgType)==false) { MsgEventProvider _msgEventProvider = new MsgEventProvider(msgType); eventsList.Add(msgType,_msgEventProvider); } MsgEventProvider msgEventProvider = eventsList[msgType]; #region 构建消息接收对象 MsgReceiver receiver = new MsgReceiver(); receiver.IsOnce = isOnce; receiver.ReceiverObj = _receiver; receiver.appEventHandler = func; #endregion msgEventProvider.AddListener(receiver); }
public void AddListener(MsgReceiver receiver) { Receivers.Add(receiver); AppEventHandler += receiver.appEventHandler; }