public void AddEvent <TEvent>(Action <TEvent> eventHandler) { if (eventHandler == null) { throw new ArgumentNullException(nameof(eventHandler)); } _handlersDictionary.Add(typeof(TEvent).FullName ?? throw new InvalidOperationException(), param => eventHandler((TEvent)param)); ManualEventManager.GetEvent <TEvent>().Subscribe(SubscribtionHandler); }
public void RemoveEvent <TEvent>() { _handlersDictionary.Remove(typeof(TEvent).FullName ?? throw new InvalidOperationException()); ManualEventManager.GetEvent <TEvent>().Unsubscribe(SubscribtionHandler); }