Files
TheXamlGuy/Framework/Core/Extensions/IMediatorExtensions.cs
T
2022-11-01 15:26:08 +00:00

28 lines
934 B
C#

using System.Threading.Tasks;
namespace TheXamlGuy.Framework.Core
{
public static class IMediatorExtensions
{
public static void Handle<TEvent>(this IMediator mediator) where TEvent : new()
{
mediator.Handle(new TEvent());
}
public static TResponse? Handle<TResponse, TRequest>(this IMediator mediator, params object[] parameters) where TRequest : new()
{
return mediator.Handle<TResponse?>(new TRequest(), parameters);
}
public static Task HandleAsync<TEvent>(this IMediator mediator) where TEvent : new()
{
return mediator.HandleAsync(new TEvent());
}
public static Task<TResponse?> HandleAsync<TResponse, TRequest>(this IMediator mediator, params object[] parameters) where TRequest : new()
{
return mediator.HandleAsync<TResponse?>(new TRequest(), parameters);
}
}
}