假设我有一个班级
public class Foo()
{
public Foo(Bar bar){}
public Foo():this(Bar.Default){}
}
我希望StructureMap在容器可以解析bar
时使用第一个构造函数重载,但是当它不能解析时,我希望第二个构造函数重载。
如何配置容器来执行此操作(一般情况下,特别是Foo
类?)
答案 0 :(得分:1)
Foo依赖于Bar,因此您应该将其建模为单个构造函数,由您的容器注入正确的Bar实现。
因此,在配置容器时,应该检测何时无法解析bar并且应该使用默认值
<binding protocol="http" bindingInformation="*:51791:www.yourapp.local" />