Bra*_*ery 3 c# ninject nodatime
在我的NinjectConfigurator中
container.Bind<IClock>().To<SystemClock>();
Run Code Online (Sandbox Code Playgroud)
我也试过了
container.Bind<IClock>().To<SystemClock>().InSingletonScope();
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
错误激活
IClock使用结合IClock到SystemClock没有构造函数可用来创建实现类型的实例.激活路径:3)将依赖IClock注入SystemManager类型构造函数的参数时钟2)将依赖ISystemManager注入到AccountController类型构造函数的参数systemManager中1)对AccountController的请求
建议:1)确保实现类型具有公共构造函数.2)如果已实现Singleton模式,请使用与InSingletonScope()的绑定.
这是我的注入类,与我在项目中使用IoC的所有其他工作类相同:
private readonly IDateTime _dateTime;
private readonly IClock _clock;
public SystemManager(IDateTime dateTime, IClock clock)
{
this._dateTime = dateTime;
this._clock = clock;
}
Run Code Online (Sandbox Code Playgroud)
我找不到任何可以帮助我的事情.任何帮助深表感谢.
我有一段时间没有使用过NInject,但我相信你想ToConstant()用来绑定到以下实例SystemClock:
container.Bind<IClock>().ToConstant(SystemClock.Instance);
Run Code Online (Sandbox Code Playgroud)