C# 从ASP.NET核心IOC容器将所有注册的服务解析为单个接口

C# 从ASP.NET核心IOC容器将所有注册的服务解析为单个接口,c#,asp.net-core,dependency-injection,C#,Asp.net Core,Dependency Injection,ASP.NET核心内置的依赖项注入机制允许对同一接口类型进行多个服务注册: public void ConfigureServices(IServiceCollection services) { ... services.AddScoped<ICustomService, CustomService1>(); services.AddScoped<ICustomService

ASP.NET核心内置的依赖项注入机制允许对同一接口类型进行多个服务注册:

    public void ConfigureServices(IServiceCollection services)
    {
        ...                   
        services.AddScoped<ICustomService, CustomService1>();
        services.AddScoped<ICustomService, CustomService2>();
        services.AddScoped<ICustomService, CustomService3>();
        ...
    }

我想知道如何在我的控制器构造函数中获得给定类型的已注册服务的完整列表,例如ICustomService?

将构造函数参数设置为集合

public class MyController
{
    public MyController(IEnumerable<ICustomService> myServices) { }
}
公共类MyController
{
公共MyController(IEnumerable myServices){}
}
这也可能对您有所帮助-
public class MyController
{
    public MyController(IEnumerable<ICustomService> myServices) { }
}