2

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

4

1 回答 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 回答