Initialization rework

This commit is contained in:
Daniel Clark
2022-12-08 10:38:58 +00:00
parent 6df08fc42c
commit fdcce769e5
6 changed files with 35 additions and 46 deletions
@@ -8,17 +8,6 @@ namespace Toolkit.Foundation
{
serviceCollection.AddSingleton<IServiceFactory>(provider => new ServiceFactory(provider.GetService, (instanceType, parameters) => ActivatorUtilities.CreateInstance(provider, instanceType, parameters!)));
serviceCollection
.AddSingleton<IInitialization, Initialization>(provider => new Initialization(() =>
{
return serviceCollection.Where(x => x.ServiceType.GetInterfaces()
.Contains(typeof(IInitializer)) || x.ServiceType == typeof(IInitializer))
.GroupBy(x => x.ServiceType)
.Select(x => x.First())
.SelectMany(x => provider.GetServices(x.ServiceType)
.Select(x => (IInitializer?)x)).ToList();
}));
return serviceCollection;
}
}