如何让 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 种方法Exploring Factory Pattern
我的问题是如何用 Ninject 做到这一点?