В существующем приложении WPF я хочу реализовать внедрение зависимостей.
Итак, при запуске моего приложения я установил контейнер di и позволил окну построить так:
var builder = new ContainerBuilder();
builder.RegisterType<SplashScreen>().AsSelf();
builder.RegisterType<ILogger>().As(Logger);
Container = builder.Build();
using (var scope = Container.BeginLifetimeScope())
{
var window = scope.Resolve<SplashScreen>();
window.Show();
window.Initialiseren();
}
В моем окне у меня есть кнопка, которая вызывает другое окно с несколькими зависимостями?
public partial class AnotherWindow
{
public AnotherWindow(ILogger)
{
...
}
}
public partial class Window
{
public void Button_Click()
{
AnotherWindow w = new AnotherWindow(new Logger());
w.Show();
}
}
Как я могу использовать свой контейнер для разрешения другого окна, не пропуская мой контейнер повсюду?
Моя цель - инициализировать ILogger с помощью autofac.
Заранее спасибо!