/// <summary> /// 增加Handler /// </summary> /// <param name="eventType"></param> /// <param name="eventHandlerType"></param> /// <param name="order"></param> /// <returns></returns> public bool AddSubscription(Type eventType, Type eventHandlerType, int order) { var eventKey = GetEventKey(eventType); var addHandler = new EventHandlerType() { Order = order, EventHandlerTypes = eventHandlerType }; if (_eventHandlers.ContainsKey(eventKey)) { return(_eventHandlers[eventKey].Add(addHandler)); } else { return(_eventHandlers.TryAdd(eventKey, new HashSet <EventHandlerType>() { addHandler })); } }
/// <summary> /// 增加Handler /// </summary> /// <typeparam name="TEvent"></typeparam> /// <typeparam name="TEventHandler"></typeparam> ///<param name="order">傳入排序</param> /// <returns></returns> public bool AddSubscription <TEvent, TEventHandler>(int order) where TEvent : IEventBase where TEventHandler : IEventHandler <TEvent> { var eventKey = GetEventKey <TEvent>(); var addHandler = new EventHandlerType() { Order = order, EventHandlerTypes = typeof(TEventHandler) }; if (_eventHandlers.ContainsKey(eventKey)) { return(_eventHandlers[eventKey].Add(addHandler)); } else { return(_eventHandlers.TryAdd(eventKey, new HashSet <EventHandlerType>() { addHandler })); } }