在一个开源程序的NinjectModule中,我找到了这一行:
Bind <DateTime>().ToSelf()
它的目的是什么?为什么要将DateTime放在容器中?作者想要达到什么目的?
答案 0 :(得分:1)
这没有任何意义。从容器中获取DateTime会给您一个例外:
Ninject.ActivationException:&#39;错误激活int无匹配 绑定可用,并且类型不可自绑定。激活 路径:
2)将依赖关系int注入到构造函数的参数年中 输入DateTime
1)请求DateTime
理论上,解决方案中可能存在另一种绑定,其长期与某种常数结合:
Bind<long>().ToConstant(1L);
这样你就可以根据带有刻度数的构造函数从容器中获取日期时间:
public DateTime(long ticks)
但无论如何,这将是非常糟糕的做法,我看不出有任何理由这样做。如果您的课程取决于日期时间等基本类型,请使用ToConstructor
或WithConstructorArgument
方法。
答案 1 :(得分:0)
重复:Ninject: What does it mean to bind something to itself?
Bind<DateTime>().ToSelf()
相当于
Bind<DateTime>().To<DateTime>()