using System; using Avalonia.Controls; using Microsoft.Extensions.DependencyInjection; namespace AutoCat.Utils; public static class DependencyInjectionExtensions { public static void AddWindowFactory(this IServiceCollection services) where TWindow: Window { services.AddTransient(); services.AddSingleton>(x => () => x.GetService()!); services.AddSingleton, AbstractFactory>(); } }