私はNInjectを使用しています。私はこのようなオブジェクトを持っています
interface IFoo {}
class Foo : IFoo {
public Foo(string magic, IBar bar) {}
}
魔法だけを渡して foo を注入できるようにしたい。魔法はクラスごとに異なるため、これは異なるインスタンスを返す必要があります。
s_Kernel.Get<IFoo>("magic");
s_Kernel.Get<IFoo>("not-so-magic");
初めてそれをバインドしようとしたとき、私はやった
s_Kernel.Bind<IFoo>().To<Foo>();
しかし、それから私はそれを調べなければなりません。
s_Kernel.Get<IFoo>(new ConstructorArgument("magic", magic), s_Kernel.Get<IBar>());
私は明示的に自分自身を魔法のひもに結びつけたくありません。
ほぼそこにたどり着くような印象をBind<IFoo>().ToConstructor(ctorArg => new Foo(xxx, ctorArg.Kernel.Get<IFoo>());
受けますが、引数を検索するために「xxx」に何を入力すればよいかわかりません。