引数のために、構成値に基づいて特定のバインドを選択したいと思います。たとえば、Action1 と Action2 という 2 つの具象クラスがあるとします。現在、Ninject カーネルをファクトリに渡し、それに基づいてバインドされた型を返しています。
public class ActionFactory: IActionFactory
{
public IAction GetAction(IKernel kernel, string actionName)
{
return kernel.Get<IAction>(actionName);
}
}
次のように、Ninject モジュールでアクションをバインドしています。
Bind<IAction>().To<Action1>().Named("Action1");
Bind<IAction>().To<Action2>().Named("Action2");
カーネルをファクトリーに渡すことなく、これをバインドすることは可能でしょうか?
提案があれば、ワークフローをリファクタリングすることもできます。