【发布时间】:2015-06-18 12:02:32
【问题描述】:
这里我使用 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,我怎么能做到这一点,如果您提出更好的处理方法,我将不胜感激?
【问题讨论】:
标签: c# model-view-controller dependency-injection ninject asp.net-web-api