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 に答える