private void AddHandler(IEventAggregatorHandler handler) { lock (_handlers) { _handlers.RemoveAll(h => h.IsDead); _handlers.Add(handler); } }
/// <summary> /// Unsubscribes the specified handler. /// </summary> /// <param name="handler">The handler to unsubscribe.</param> public void Unsubscribe(IEventAggregatorHandler handler) { if (handler == null) { throw new ArgumentNullException(nameof(handler)); } lock (_handlers) { _handlers.RemoveAll(h => h.IsDead || ReferenceEquals(h, handler)); } }