/// <summary>
        /// Removes the event handler.
        /// </summary>
        /// <param name="handler">Handler</param>
        /// <param name="eventName">Event name</param>
        public void RemoveEventHandler(Delegate handler, [CallerMemberName] string eventName = "")
        {
            if (IsNullOrWhiteSpace(eventName))
            {
                throw new ArgumentNullException(nameof(eventName));
            }

            if (handler == null)
            {
                throw new ArgumentNullException(nameof(handler));
            }

            EventManagerService.RemoveEventHandler(eventName, handler.Target, handler.GetMethodInfo(), eventHandlers);
        }
Esempio n. 2
0
        /// <summary>
        /// Removes the event handler
        /// </summary>
        /// <param name="action">Handler</param>
        /// <param name="eventName">Event name</param>
        public void RemoveEventHandler(Action <TEventArgs> action, [CallerMemberName] string eventName = "")
        {
            if (IsNullOrWhiteSpace(eventName))
            {
                throw new ArgumentNullException(nameof(eventName));
            }

            if (action == null)
            {
                throw new ArgumentNullException(nameof(action));
            }

            EventManagerService.RemoveEventHandler(eventName, action.Target, action.GetMethodInfo(), eventHandlers);
        }
Esempio n. 3
0
        /// <summary>
        /// Removes the event handler
        /// </summary>
        /// <param name="action">Handler</param>
        /// <param name="eventName">Event name</param>
        public void RemoveEventHandler(Action <TEventArgs> action, [CallerMemberName] string eventName = "")
        {
            if (IsNullOrWhiteSpace(eventName))
            {
                throw new ArgumentNullException(nameof(eventName));
            }

            if (action == null)
            {
                throw new ArgumentNullException(nameof(action));
            }

            var methodInfo = action.GetMethodInfo() ?? throw new NullReferenceException("Could not locate MethodInfo");

            EventManagerService.RemoveEventHandler(eventName, action.Target, methodInfo, eventHandlers);
        }
Esempio n. 4
0
        /// <summary>
        /// Adds the event handler
        /// </summary>
        /// <param name="handler">Handler</param>
        /// <param name="eventName">Event name</param>
        public void AddEventHandler(EventHandler <TEventArgs> handler, [CallerMemberName] string eventName = "")
        {
            if (IsNullOrWhiteSpace(eventName))
            {
                throw new ArgumentNullException(nameof(eventName));
            }

            if (handler == null)
            {
                throw new ArgumentNullException(nameof(handler));
            }

            var methodInfo = handler.GetMethodInfo() ?? throw new NullReferenceException("Could not locate MethodInfo");

            EventManagerService.AddEventHandler(eventName, handler.Target, methodInfo, eventHandlers);
        }
 /// <summary>
 /// Invokes the event Action
 /// </summary>
 /// <param name="eventName">Event name</param>
 public void RaiseEvent(string eventName) => EventManagerService.HandleEvent(eventName, eventHandlers);
 /// <summary>
 /// Invokes the event EventHandler
 /// </summary>
 /// <param name="sender">Sender</param>
 /// <param name="eventArgs">Event arguments</param>
 /// <param name="eventName">Event name</param>
 public void RaiseEvent(object sender, object eventArgs, string eventName) =>
 EventManagerService.HandleEvent(eventName, sender, eventArgs, eventHandlers);