我已经阅读了 ninject wiki 上的所有内容和许多帖子,但仍然不明白如何设置注入以便我可以引用此属性。我希望能够在基类构造函数中引用该属性,以便在创建任何控制器时最终设置一个通用的 ViewBag 属性。似乎实现 iInitializable 接口是正确的方法,但再次不确定如何执行此操作。另外,我选择不在基类构造函数中注入 IMyService 以简化派生类的编码。
我最近尝试的代码的简化版本:
public class AppController : Controller
{
[Inject]
public IMyService myService{get; set;}
public AppController()
{
//I want to do this, but myService is null
//ViewBag.DefaultName = myService.Name;
}
}
public class DashboardController : AppController
{
public ActionResult Index()
{
//myService is accessible, so injection works
return View();
}
}