次のように、名前付きインスタンスを構造マップに追加できます。
For<IFoo>().Add<Foo>().Named("FooOne");
私はそれから得ることができます:
ObjectFactory.GetNamedInstance<IFoo>("FooOne");
次のように登録することで、実行時にパラメーターを渡すことができます。
For<IFoo>().Add<Foo>().Ctor<string>("someParam");
次のようなインスタンスを取得します。
ObjectFactory.With("someParam").EqualTo("blah").GetInstance<IFoo>();
大丈夫だ。しかし、私は名前付きインスタンスを持ち、それにパラメーターを渡したいと思っています。だから私はこのように登録しています:
For<IFoo>().Add<Foo>().Named("FooOne").Ctor<string>("someParam");
しかし、名前付きインスタンスを取得し、実行時にパラメーターを渡すための構文を理解できませんか?? 私は次のようなことをしようとしています:
ObjectFactory.With("someParam").EqualTo("blah").GetNamedInstance<IFoo>("FooOne");
しかし、構造マップは、パラメーターを追加した後、GetNamedInstance のオプションを提供しません。どこが間違っていますか?
代替アプローチの提案も良いでしょう。基本的に私がしようとしているのは、列挙型の各要素の具象型を登録し、列挙型アイテムを使用して名前を付け、名前で取得することです。ただし、実行時にパラメーターをコンストラクターに渡すことができる必要があります。
前もって感謝します。