Нужно ли мне делать что-то другое в абстрактном классе, чтобы получить инъекцию зависимостей, работающую с Ninject?Ninject: Abstract Class
У меня есть базовый контроллер со следующим кодом:
public abstract class BaseController : Controller
{
public IAccountRepository AccountRepository
{
get;
set;
}
}
Мой модуль выглядит следующим образом:
public class WebDependencyModule : NinjectModule
{
public override void Load()
{
Bind<IAccountRepository>().To<AccountRepository>();
}
}
И это мой Global.asax
:
protected override void OnApplicationStarted()
{
Kernel.Load(new WebDependencyModule());
}
protected override IKernel CreateKernel()
{
return new StandardKernel();
}
Это работает, когда Я украшаю собственность IAccountRepository
[Inject]
атрибут.
Отредактированный ответ немного - надеюсь, что в целом все ясно сейчас - не стесняйтесь следить за комментариями, если это не имеет смысла. BTW обязательно загрузите источник Ninject - это единственное лучшее место на планете за ответы о Ninject. Тесты - довольно хороший набор ответов. –
А, это отличная идея. Конечно, проверьте исходный код. Благодаря! – Pickels