如何将基接口列表注入类

我有一个程序,其中有一些带有自定义接口的服务,但它们都继承自IService. 这些服务使用它们的自定义接口注册为 Simple Injector 容器中的单例,但在一个主类中,我希望它们全部注入到构造函数中IEnumerable<IService>。这不起作用,因为IEnumerable<IService>未注册。我的问题是如何配置容器以允许在构造函数中检索它们——我可以手动解析类型,但我应该避免这种反模式。


// sample service (one of many)    

public interface IHttpServerService : IService

...

_container.RegisterSingleton<IHttpServerService, HttpServerService>();

...

public Controller(IEnumerable<IService> services)

...


DIEA
浏览 142回答 1
1回答

潇湘沐

只需添加:container.RegisterSingleton<IHttpServerService, HttpServerService>();container.Collection.Register<IService>(&nbsp; &nbsp; typeof(IHttpServerService),&nbsp; &nbsp; // more implementations here);
打开App,查看更多内容
随时随地看视频慕课网APP