問題

私は現在、 NInject

依存性注入IoCをコンパイル時に移行できるものはありますか(Read:post-build ILの織り/交換)?


詳しく説明するために

私のコードでは、バインディングを設定しました

 Bind<IFoo>().To<Foo>()
Bind<Bar>().ToSelf().InSingletonScope();
 

ctor Foo(Bar dependency)

私のアプリケーションのルート(start-up)では、グラフを解決します

 var foo = kernel.Get<IFoo>();
 

とにかくサービスロケーター( antipattern right?)がないとします。だから私はもうkernelには使用していません。

今私は、カーネルの解像度エンジンをインスタンス化子に置き換えた "post-build release-compile"、または定数/シングルトンへの参照などを持っています。

 var foo = kernel.Get<IFoo>();
 

実際には、私の最終的なビルド段階でILの置き換えの後、次のようになります。

 var bar = new Bar(); 
var foo = new Foo(bar);
 

NInjectへの参照はもうありません。

この質問の私の合理的なことは、 Fody をIL Weaveに使用していることです。すべてのPropertyChanged raisersと同様のことが可能かどうか疑問に思っています依存性注入。

  ベストアンサー

説明したように、これを行うためのあなたの引用された理由は追加されません。しかし、Philip Laureano(Linfu author)は Hiroプロジェクトを実行しました。それがどこに行ったのか分かりません...

  同じタグがついた質問を見る

c#securitydependency-injectionninjectfody