/// <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); }
/// <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); }
/// <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); }
/// <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);