4
public interface IFoo{}
public class Foo1 : IFoo {
public Foo1(int id){}
public Foo1(string val){}
}
public class Foo2 : IFoo {
public Foo2(int id){}
public Foo2(string val){}
}
對於那些相應的註冊表設置...StructureMap:如何設置了接口的具體實例混凝土使用特定CTOR
ForRequestedType<IFoo>().TheDefault.Is.ConstructedBy(()=>new Foo1("some string val"));
InstanceOf<IFoo>().Is.OfConcreteType<Foo2>();
,我們使用的IFoo爲別的設置了一個param .. .EX:
public interface IBar{}
public class Bar1:IBar {
public Bar1(IFoo foo){}
}
public class Bar2:IBar {
public Bar2(IFoo foo){}
}
該註冊是如下...
ForRequestedType<IBar>().TheDefault.Is.OfConcreteType<Bar1>().CtorDependency<IFoo>().Is<Foo1>();
現在我想BAR2使用foo2的,我想foo2的使用構造「新foo2的(1)」我已經嘗試
InstanceOf<Foo2>().Is.ConstructedBy(()=> new Foo2(1));
,但失敗了。 如何,如果有的話,我可以使用StructureMap註冊表來工作嗎?