Reputation: 85875
I am wondering how do you do constructor inject with ninject 2.0 when you have a base controller?
I have
private readonly IBaseService baseService;
public BaseController(IBaseService baseService)
{
this.baseService = baseService;
}
Bind<IBaseService>().To<BaseService>();
public class OtherController : BaseController
{
private readonly IOtherService otherService;
public OtherController(IOtherService otherService, IBaseService baseService)
{
this.otherService = otherService;
}
Yet I get
'BaseController' does not contain a constructor that takes 0 arguments
Upvotes: 6
Views: 2167
Reputation: 9627
You'd have to chain through to the base controller, no?
public OtherController(IOtherService otherService, IBaseService baseService) : base(baseService)
Upvotes: 1
Reputation: 61617
You need to inject both services into your OtherController
and call the base constructor passing the service it requires:
public OtherController(IOtherService otherService, IBaseService baseService)
: base(baseService) { this.otherService = otherService; }
Upvotes: 14