如何使用从同一个接口继承的多个对象
本文关键字:对象 继承 接口 何使用 同一个 | 更新日期: 2023-09-27 18:11:15
当使用StructureMap时,我希望类A被注入Bar,类B被注入Baz。
我如何配置/设置与StructureMap的关系?
public class Bar : IFoo {}
public class Baz : IFoo {}
public class A
{
private IFoo _foo;
public A(IFoo foo)
{
_foo = foo;
}
}
public class B
{
private IFoo _foo;
public B(IFoo foo)
{
_foo = foo;
}
}
根据这个答案,我认为你需要这样做:
For<IFoo>().Add<Bar>().Named("bar");
For<IFoo>().Add<Baz>().Named("baz");
For<A>()
.Use<A>()
.Ctor<IFoo>()
.Named("bar");
For<B>()
.Use<B>()
.Ctor<IFoo>()
.Named("baz");