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();
}
}