using CommunityToolkit.Mvvm.Messaging; namespace Toolkit.Foundation; public static class IMessengerExtensions { public static TResponse Send(this IMessenger messenger) where TMessage : class, new() { ResponseEventArgs args = messenger.Send(new ResponseEventArgs { Message = new TMessage() }); return args.Response; } public static void Send(this IMessenger messenger, string key) where TMessage : class, new() => messenger.Send(new TMessage(), key); public static async Task SendAsync(this IMessenger messenger) where TMessage : class, new() => await messenger.Send(new AsyncResponseEventArgs { Message = new TMessage() }); }