実行時の変数に基づいてオブジェクトをインスタンス化するようにNinjectを作成するにはどうすればよいですか?
ユーザー入力からのパラメーターに基づいて、コントローラーアクション(MVC 3-)に正しいリポジトリーを挿入しようとしています。ユーザーが「BMW」と入力すると、にバインドICarRepository
されBMWRepository
、「KIA」と入力KiaRepository
すると注入されます。
[HttpPost]
public ActionResult SearchResult(FormCollection values)
{
string carModel = values["model"];
ICarRepository myRepository = RepositoryFactory.getRepository(carModel);
.....
}
これは、switch / case noobインスタンス化またはパラメータ化されたファクトリによって知られており、Ninjectを使用せずに手動で行う方法を知っています。ここで説明されている4つのアプローチを確認してください。ファクトリパターンの調査
私の質問は、Ninjectでそれを行う方法ですか?