アプリケーションのさまざまなレイヤー間でコンテナーを共有したいと思います。コンテナを初期化し、コンテナに型を登録する静的クラスの作成を開始しました。
public class GeneralDIModule : NinjectModule
{
public override void Load()
{
Bind<IDataBroker>().To<DataBroker>().InSingletonScope();
}
}
public abstract class IoC
{
private static IKernel _container;
public static void Initialize()
{
_container = new StandardKernel(new GeneralDIModule(), new ViewModelDIModule());
}
public static T Get<T>()
{
return _container.Get<T>();
}
}
Resolveメソッドもあることに気づきました。ResolveとGetの違いは何ですか?
私の単体テストでは、コンテナに登録されているすべてのタイプが常に必要なわけではありません。空のコンテナを初期化してから、必要なタイプを登録する方法はありますか?ユニットテストでもタイプをモックするので、それらも登録する必要があります。
Injectメソッドがありますが、インスタンスのライフサイクルが管理されていないと表示されますか?
誰かが私を正しい方法で設定してくれませんか?
オブジェクトを登録、登録解除、およびコンテナをリセットするにはどうすればよいですか。