3

インジェクト属性がフィールドに対して機能していません。

[Inject]
public MyContext context; //Not injected

[Inject]
public MyContext context {get; set;} //Injected

デフォルトのNinject設定を使用しています。なぜフィールドが注入されないのですか?

4

1 に答える 1

9

許可されていないからです。

Ninject 2 Betaの発表から:

Ninject 1.xにあったもので、Ninject2にはないもの。

  • フィールドインジェクション:Ninject 2のインジェクションは、式ツリーによって駆動されるようになりました。.NET3.5では、式ツリーを使用してフィールド値を設定する方法はありません。とにかくこれは悪い習慣なので、私はそれをカットすることにしました。
于 2011-04-03T22:09:31.220 に答える