假设我有一个接口IA
,两个实现A1
和A2
以及依赖于B
的依赖类IA
。 Windsor容器中相同接口的两个实现注册如下:
container.Register(Component.For<IA>()
.ImplementedBy<A1>());
container.Register(Component.For<IA>()
.ImplementedBy<A2>());
有没有办法指定在依赖类B
中使用哪个实现?
例如在Autofac中,我可以像这样使用KeyFilterAttribute
:
class B
{
...
public B([KeyFilter("A1")]IA a)
{
...
}
}