2016-05-01 14 views
1

Wie kann ich die neue DI Unterstützung Injektion wie folgt bekommen?ASP.NET MVC Core DI injizieren Liste der Dienste

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>(); 
    } 
    } 

Antwort

2

bekam es (vereinfacht)

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

aber Sie müssen genau die Erwartung des Ctor passen so speziell für mein Beispiel

.AddTransient<IList<IService>>(p => p.GetServices<IService>().ToList()) 
Verwandte Themen