15 lines
495 B
C#
15 lines
495 B
C#
using System;
|
|
using Avalonia.Controls;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
namespace AutoCat.Utils;
|
|
|
|
public static class DependencyInjectionExtensions
|
|
{
|
|
public static void AddWindowFactory<TWindow>(this IServiceCollection services) where TWindow: Window
|
|
{
|
|
services.AddTransient<TWindow>();
|
|
services.AddSingleton<Func<TWindow>>(x => () => x.GetService<TWindow>()!);
|
|
services.AddSingleton<IAbstractFactory<TWindow>, AbstractFactory<TWindow>>();
|
|
}
|
|
} |