繁体   English   中英

如何配置Ninject以注入NodaTime IClock

[英]How do I configure Ninject to inject the NodaTime IClock

在我的NinjectConfigurator中

container.Bind<IClock>().To<SystemClock>(); 

我也试过了

container.Bind<IClock>().To<SystemClock>().InSingletonScope();

但我得到这个错误:

使用从IClockSystemClock绑定激活IClock出错没有构造函数可用于创建实现类型的实例。

激活路径: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;
}

我找不到任何可以帮助我的事情。 任何帮助深表感谢。

我有一段时间没有使用过NInject,但我相信你想使用ToConstant()绑定到SystemClock的实例:

container.Bind<IClock>().ToConstant(SystemClock.Instance);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM