Ninject基础知识请举例说明

时间:2012-06-27 03:04:00

标签: ninject ninject-2

情景:

DI和Ninject相当新,但很想掌握它,以便我知道自己在做什么以及为什么。

在阅读一些示例和文档时,我注意到以下内容:

1. ToConstructor.
2. ToMethod
3. Self

如果有人可以帮助我了解何时以及如何使用上述内容,那将是件好事。一个例子就是好的。

感谢。

1 个答案:

答案 0 :(得分:4)

HY,

自我绑定声明某种类型与自身的绑定。具有无参数构造函数的类型不需要自绑定。 Ninject可以自己实例化这些类型。如果您声明自我绑定,即Bind<Sword>().ToSelf();,则只能执行Get<Sword>。例如,Get<ISword>将抛出ActivationException。

方法绑定允许您指定负责创建绑定类型实例的方法。例如,您可以执行以下操作:Bind<ISword>().ToMethod(() => new Sword(strength = 12));您可以在此处查看ninject wiki上的更多示例:https://github.com/ninject/ninject/wiki/Dependency-Injection-With-Ninject