私たちのプロジェクトでは、Unity を依存性注入フレームワークとして使用しています。今、私は の遅延バインド バージョンが必要な状況に直面していIUnityContainer.RegisterInstance()ます。
ninject では、私がやろうとしているコードは次のようになります。
this.Bind<IMyInterface>().ToMethod(context => GetMyObjectLateBound());
ただし、Unity では、これを行う方法を今のところ見つけていません。
これが必要な理由は、インスタンスがIMyInterfaceまだ作成されておらず、バインディングが発生し、オブジェクトの作成も Unity によって処理されていないためです (これをすぐに置き換えることはできません)。