私は従来のコードを作成しています。StructureMap明示的なコンストラクタ引数の指定
私は、依存関係のコンストラクタに対して異なる引数を渡す同じクラスの異なるメソッドを持っています。私はいくつかの基本的なIoCの使い方を紹介しようとしています。実際の性質は私が場所に応じてconstructorArgAとBの変更のために渡さ
var thing = ObjectFactory.GetInstance<IThingInterface>(new ExplicitArguments(
new Dictionary<string, object> {
{ "constructorArgA", notShown },
{ "constructorArgB", redacted.Property } }));
:今私はのStructureMapは、このように私の引数を渡す必要があります。
x.For<IHidden>().Use<RealType>()
.Ctor<IConfig>().Is(new Func<IContext, IConfig>(
(context) => someMethodToGetIConfig()));
私は最初からこれを書いていた場合、私は構造おそらくたい:代わりに「constructorArgA」の
は次のように、のObjectFactoryを設定するときに行うことができますように、実際のタイプを経由してこれを設定する方法がありますこれを避けるためには依存関係が少し違っていますが、それは私の選択肢ではありません。
コンストラクタインジェクションの代わりにプロパティインジェクションに切り替える必要がありますか? –