2016-05-01 2 views
1

Как я могу получить новую инъекцию поддержки DI как это?ASP.NET MVC Core DI вставляет список услуг

public class Thing{ 

    public Thing(IList<IService> someServices) { 

     ... 
    } 
    } 

    public class ServiceA : IService { } 
    public class ServiceB : IService { } 
    public class ServiceB : IService { } 

    public class Startup { 
    ... 

    public void ConfigureServices(IServiceCollection services) 
    { 
     services.AddTransient<IService, ServiceA>() 
       .AddTransient<IService, ServiceB>() 
       .AddTransient<IService, ServiceC>(); 
    } 
    } 

ответ

2

получил его (упрощенный)

.AddTransient(p => p.GetServices<IService>()) 

но вы должны соответствовать ожидание CTOR точно так специально для моего примера

.AddTransient<IList<IService>>(p => p.GetServices<IService>().ToList()) 
Смежные вопросы