给定以下注册
builder.Register<A>().As<I>();
builder.Register<B>().As<I>();
builder.Register<C>().As<I>();
var container = builder.Build();
我希望将类型I的所有实例解析为一个IEnumerable
(数组或集合都无关紧要)。
在温莎,我会写下以下内容。
foreach(I i in container.ResolveAll<I>())
{
...
}
我正在从Windsor迁移到Autofac 1.4.4.561,但是看不到等价的语法。
发布于 2010-08-26 19:55:38
为了新的(2.x)版本进行更新。你现在需要的就是:
container.Resolve<IEnumerable<I>>();
不再需要RegisterCollection()
或ImplicitCollectionSupportModule
-这种功能是开箱即用的。
https://stackoverflow.com/questions/1406148
复制相似问题