我有一个服务接口(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/