Example #1
0
        /// <summary>
        /// 尝试从字典获取对象,如不存在则添加
        /// </summary>
        /// <typeparam name="T">事件类型</typeparam>
        /// <param name="dic">事件缓存字典</param>
        /// <returns>结果</returns>
        private static EventHandlerGroup _getOrAddHandlerGroup <T>(IDictionary <object, EventHandlerGroup> dic)
        {
            var eventType = typeof(T);

            if (dic.TryGetValue(eventType, out var ret))
            {
                return(ret);
            }
            else
            {
                ret = new EventHandlerGroup(eventType, eventType);
                dic.Add(eventType, ret);
                return(ret);
            }
        }
Example #2
0
 private static EventHandlerGroup _getOrAddHandlerGroup(IDictionary <object, EventHandlerGroup> dic, object eventType)
 {
     eventType = EventHandler.GetInternalEventType(eventType);
     if (dic.TryGetValue(eventType, out var ret))
     {
         return(ret);
     }
     else
     {
         var type = EventHandler.GetInternalType(eventType);
         ret = new EventHandlerGroup(type, eventType);
         dic.Add(eventType, ret);
         return(ret);
     }
 }