Пример #1
0
        public void RemoveHandler <T>(IRuleEventHandler handler) where T : IRuleEvent
        {
            var eventName = typeof(T);

            if (!_globalHandlers.TryGetValue(eventName, out var list))
            {
                return;
            }
            list.Remove(handler);
        }
Пример #2
0
        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);
        }