56 lines
1.9 KiB
C#
56 lines
1.9 KiB
C#
using System;
|
|
using System.ComponentModel;
|
|
|
|
namespace JiShe.CollectBus.Common.Extensions
|
|
{
|
|
/// <summary>
|
|
/// Extension methods for <see cref="EventHandler"/>.
|
|
/// </summary>
|
|
public static class EventHandlerExtensions
|
|
{
|
|
/// <summary>
|
|
/// Raises given event safely with given arguments.
|
|
/// </summary>
|
|
/// <param name="eventHandler">The event handler</param>
|
|
/// <param name="sender">Source of the event</param>
|
|
[Description("使用给定参数安全引发给定事件")]
|
|
public static void InvokeSafely(this EventHandler eventHandler, object sender)
|
|
{
|
|
eventHandler.InvokeSafely(sender, EventArgs.Empty);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Raises given event safely with given arguments.
|
|
/// </summary>
|
|
/// <param name="eventHandler">The event handler</param>
|
|
/// <param name="sender">Source of the event</param>
|
|
/// <param name="e">Event argument</param>
|
|
public static void InvokeSafely(this EventHandler eventHandler, object sender, EventArgs e)
|
|
{
|
|
if (eventHandler == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
eventHandler(sender, e);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Raises given event safely with given arguments.
|
|
/// </summary>
|
|
/// <typeparam name="TEventArgs">Type of the <see cref="EventArgs"/></typeparam>
|
|
/// <param name="eventHandler">The event handler</param>
|
|
/// <param name="sender">Source of the event</param>
|
|
/// <param name="e">Event argument</param>
|
|
public static void InvokeSafely<TEventArgs>(this EventHandler<TEventArgs> eventHandler, object sender, TEventArgs e)
|
|
where TEventArgs : EventArgs
|
|
{
|
|
if (eventHandler == null)
|
|
{
|
|
return;
|
|
}
|
|
|
|
eventHandler(sender, e);
|
|
}
|
|
}
|
|
} |