/// <summary> /// Setup Dependency Injection /// - Singleton-Services have to be registered before MVVM-Classes because they depend on Services /// - DynamicDependencyProvider is a Service that allows dynamic access to all declared dependencies /// USE WITH CAUTION! Global Dependency Locator is a bad practice, because you can't /// see in the constructor what the dependency of a class are. /// </summary> public AppDependencyInjection() { // create service collection object _services = new ServiceCollection(); // create dynamic dependency provider impl var dynamicDependencyProvider = new DynamicDependencyProviderImpl(); _dynamicDependencyProvider = dynamicDependencyProvider; // configure instantiation of classes ConfigureSingletonServices(); ConfigureTransientMvvm(); // create service provider _serviceProvider = _services.BuildServiceProvider(); // set service provider to dynamic dependency provider dynamicDependencyProvider.ServiceProvider = _serviceProvider; }
public WindowOpenerImpl(IDynamicDependencyProvider dynamicDependencyProvider) { _dynamicDependencyProvider = dynamicDependencyProvider; }