using CommunityToolkit.Mvvm.Messaging; using Microsoft.Extensions.DependencyInjection; namespace Toolkit.Foundation; public class AsyncHandlerInitialization(IServiceProvider provider) : IInitialization where THandler : class, IAsyncHandler where TMessage : class { public void Initialize() => StrongReferenceMessenger.Default.Register>(provider, (provider, args) => args.Reply(provider.GetRequiredService().Handle(args.Message, args.CancellationToken))); } public class AsyncHandlerInitialization(IServiceProvider provider) : IInitialization where THandler : class, IAsyncHandler where TMessage : class { public void Initialize() => StrongReferenceMessenger.Default.Register>(provider, (provider, args) => provider.GetRequiredService().Handle(args.Message, args.CancellationToken)); }