Здесь я использую каркас DI (Ninject), и он отлично работает. Но одна из проблем заключается в том, что у меня есть базовый класс с единственным конструктором, который реализует реализацию интерфейса.Как использовать инъекцию зависимостей для унаследованного класса?
public class BaseApiController : ApiController
{
readonly IAccessService _accessService;
public BaseApiController(IAccessService accessService)
{
this._accessService = accessService;
}
}
Когда я наследовать от этого базового класса для всех других контроллеров, которые имеют конструктор, которые берут реализацию своих собственных интерфейсов. Я получаю ошибку «BaseApiController» не содержит конструктор, который принимает 0 аргументов. Хорошо, я это понял. Производный класс
public class DiscoverController : BaseApiController
{
readonly IDiscoverService _discoverService;
readonly IAccessService _accessService;
public DiscoverController(IDiscoverService discoverService,IAccessService accessService)
{
_accessService = accessService;
_discoverService = discoverService;
}
}
Как я мог бы сделать это без изменения производного класса CTOR принять аналогичный параметр и передать это значение на базовой CTOR, я был бы признателен, если бы вы предложить лучший способ справиться с этим?