public void UnregisterEventObserver(string eventName, IGIIEventObserver observer) { lock (_eventObserversOpLock) { if (_inProcessingEvents <= 0) { // 没有处理中的消息,则立即处理 var observerList = getEventObserverList(eventName); observerList.Remove(observer); } else { _unregisterRequests.Enqueue(new EventObserverPair(eventName, observer)); } } }
public void RegisterEventObserver(string eventName, IGIIEventObserver observer) { lock (_eventObserversOpLock) { if (_inProcessingEvents <= 0) { // 没有处理中的消息,则立即处理 var observerList = getEventObserverList(eventName); if (!observerList.Contains(observer)) { observerList.Add(observer); } } else { _registerRequests.Enqueue(new EventObserverPair(eventName, observer)); } } }
public EventObserverPair(string e, IGIIEventObserver o) { _EventName = e; _Observer = o; }