public void RemoveHandler <T>(IRuleEventHandler handler) where T : IRuleEvent { var eventName = typeof(T); if (!_globalHandlers.TryGetValue(eventName, out var list)) { return; } list.Remove(handler); }
public void AddHandler <T>(IRuleEventHandler handler) where T : IRuleEvent { var eventName = typeof(T); if (!_globalHandlers.TryGetValue(eventName, out var list)) { list = new List <IRuleEventHandler>(); _globalHandlers.Add(eventName, list); } list.Add(handler); }