using Microsoft.Extensions.DependencyInjection; namespace Hyperbar.Widget.Windows; public class WidgetConfigurationNavigationViewModelEnumerator(IPublisher publisher, IWidgetHostCollection widgetHosts) : INotificationHandler> { public async Task Handle(Enumerate args, CancellationToken cancellationToken = default) { foreach (IWidgetHost host in widgetHosts) { if (host.Services.GetService() is IServiceFactory serviceFactory) { await publisher.PublishAsync(new Create(serviceFactory .Create(host.Configuration.Name)), nameof(WidgetNavigationViewModel), cancellationToken); } } } }