gpt4 book ai didi

c# - 如何为给定服务注入(inject)所有实现?

转载 作者:可可西里 更新时间:2023-11-01 07:54:43 25 4
gpt4 key购买 nike

如何为给定服务接口(interface)注入(inject)所有已注册实现的列表?

  public class Thing
{
public Thing(IList<IService> services) { }
}

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

最佳答案

从 ASP.NET Core 2.0 开始,如果您将依赖项注入(inject)为 IEnumerable<IService>而不是 IList<IService> ,您可以放弃注册列表本身,让您只注册个别服务。

关于c# - 如何为给定服务注入(inject)所有实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36967949/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com