/// <summary> /// Raises the event. /// </summary> /// <param name="handler">The delegate to invoke.</param> /// <param name="sender">The sender.</param> /// <param name="eventArgs">The <see cref="EventArgs"/> instance containing the event data.</param> public static void Raise(this Delegate handler, object sender, EventArgs eventArgs) { if (handler == null) { return; } try { handler.GetMethodInfo() .Invoke(handler.Target, new[] { TargetFactory.GetPair(sender), eventArgs }); } catch (TargetInvocationException e) { throw new TargetInvocationException("Please check the inner exception for error details.", e.InnerException); } }