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>();
の使用方法インターフェイスの特定の具体的なインスタンスのセットアップに私たちは、その後、何か他のもののためのparamとしてIFooを使用.. .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レジストリを使用して動作させることができますか?あなたはあなたの中にこれを行うことができます