我有一个服务接口,比如说 IAddonServiceX,它由许多但不是系统的所有插件实现。我想要一个 IEnumerable 以便我可以为注册此服务的每个插件迭代和执行方法?这可以用autofac完成吗?
问问题
3236 次
1 回答
7
Autofac 对它有隐含的支持,所以你只需要注册你的实现
builder.RegisterType<Impl1>.As<IAddonServiceX>();
builder.RegisterType<Impl2>.As<IAddonServiceX>();
当您在构造函数中解析IEnumberable<IAddonServiceX>
with container.Resolve<IEnumberable<IAddonServiceX>>
或 usingIEnumberable<IAddonServiceX>
时,Autofac 将为您提供所有实现。
于 2013-11-14T09:15:21.267 回答