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