Esempio n. 1
0
        public void Unregister <T>(Action <T> action, object token)
        {
            var key = TypeTokenKey.GetKey <T>(token);

            if (keyActionMap.ContainsKey(key))
            {
                keyActionMap[key].Remove(action);
            }
        }
Esempio n. 2
0
        public void Send <T>(T message, object token)
        {
            var key = TypeTokenKey.GetKey <T>(token);

            if (keyActionMap.ContainsKey(key))
            {
                foreach (var action in keyActionMap[key])
                {
                    ((Action <T>)action).Invoke(message);
                }
            }
        }
Esempio n. 3
0
        public void Register <T>(Action <T> action, object token)
        {
            var key = TypeTokenKey.GetKey <T>(token);

            if (keyActionMap.ContainsKey(key))
            {
                if (!keyActionMap[key].Any(e => e.Equals(action)))
                {
                    keyActionMap[key].Add(action);
                }
            }
            else
            {
                var list = new List <object>();
                list.Add(action);
                keyActionMap.Add(key, list);
            }
        }