c# - autofac 多个服务(相同的接口(interface) - 多个插件提供它)如何实现?

标签 c# service autofac

我有一个服务接口(interface),比如说 IAddonServiceX,它由许多(但不是所有)系统插件实现。我想要一个 IEnumerable,以便我可以为注册此服务的每个插件迭代和执行方法?这可以用 autofac 来完成吗?

最佳答案

Autofac has implicit support for it ,所以你只需要使用

注册你的实现
builder.RegisterType<Impl1>.As<IAddonServiceX>();    
builder.RegisterType<Impl2>.As<IAddonServiceX>();

当您解决IEnumberable<IAddonServiceX>时与 container.Resolve<IEnumberable<IAddonServiceX>>或使用IEnumberable<IAddonServiceX>在您的构造函数中,Autofac 将为您提供所有实现。

关于c# - autofac 多个服务(相同的接口(interface) - 多个插件提供它)如何实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19789120/

相关文章:

java - 从服务中检索位置

html - 从服务器检索html并使用Angular显示

elasticsearch - 尽管kibana.service正常启动,但Kibana停止工作,现在服务器未准备就绪

c# - 创建 Controller 失败,表明 Controller 需要无参数公共(public)构造函数

c# - 如何使用 AutoFac 将存储库注入(inject)自定义 MembershipProvider

c# - 使用 Autofac 对委托(delegate)工厂进行单元测试

c# - 在哪里可以找到 SQL Server 版本的友好字符串?

c# - 自定义属性,例如未随 GetCustomAttribute 一起列出的 Displayname

c# - 远程部署/调试 Visual Studio 2017 .NET Core

c# - Winforms - MVP 模式 : Using static ApplicationController to coordinate application?