static int Main(string[] args) { ServiceProvider provider = new ServiceCollection().BuildServiceProvider(); ObjectFactory factory = ActivatorUtilities.CreateFactory(typeof(ServiceA), Array.Empty <Type>()); ServiceA serviceA = factory(provider, null) as ServiceA; ServiceB serviceB = ActivatorUtilities.CreateInstance(provider, typeof(ServiceB)) as ServiceB; ServiceC serviceC = ActivatorUtilities.CreateInstance <ServiceC>(provider); ServiceD serviceD = ActivatorUtilities.GetServiceOrCreateInstance(provider, typeof(ServiceD)) as ServiceD; ServiceE serviceE = ActivatorUtilities.GetServiceOrCreateInstance <ServiceE>(provider); if (serviceA is null || serviceB is null || serviceC is null || serviceD is null || serviceE is null) { return(-1); } return(100); }
static int Main(string[] args) { ServiceProvider provider = new ServiceCollection().BuildServiceProvider(); // ActivatorUtilities.CreateFactory fails due to https://github.com/mono/linker/issues/1398 //ObjectFactory factory = ActivatorUtilities.CreateFactory(typeof(ServiceA), Array.Empty<Type>()); //ServiceA serviceA = factory(provider, null) as ServiceA; ServiceB serviceB = ActivatorUtilities.CreateInstance(provider, typeof(ServiceB)) as ServiceB; ServiceC serviceC = ActivatorUtilities.CreateInstance <ServiceC>(provider); ServiceD serviceD = ActivatorUtilities.GetServiceOrCreateInstance(provider, typeof(ServiceD)) as ServiceD; ServiceE serviceE = ActivatorUtilities.GetServiceOrCreateInstance <ServiceE>(provider); if (//serviceA is null || serviceB is null || serviceC is null || serviceD is null || serviceE is null) { return(-1); } return(100); }