4

设想:

对 DI 和 Ninject 很陌生,但我很想掌握它,以便我知道在做什么以及为什么。

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

1. ToConstructor.
2. ToMethod
3. Self

如果有人可以帮助我了解何时以及如何使用上述内容,那就太好了。一个例子会很好。

谢谢。

4

1 回答 1

4

嗨,

绑定声明某种类型的绑定到自身。具有无参数构造函数的类型不需要自绑定。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

于 2012-06-27T22:09:12.453 回答