2011-07-10 24 views
1

私は依存性注入にUnityを使用しており、IConfigを実装するクラスConfigのインスタンスをUnity Containerに登録しています。アプリケーションが実行され、ユーザが保存した設定をロードするときUnityコンテナに登録されたインスタンスを更新する

IConfiguration config = new Configuration(); 

unityContainer.RegisterInstance<IConfiguration>(config); 

、Iが読み込ま構成オブジェクトとの一体に格納されたインスタンスを更新したいと思います。例えば。以下の擬似コードのようなもの

IConfiguration loadedConfig = FileLoadService.Load(filepath); 
unityContainer.Instance = loadedConfig; 

これは可能ですか?

答えて

1

あなただけ

unityContainer.RegisterInstance<IConfiguration>(config); 

を呼び出してインスタンスを再登録することができしかし、それはあなたの既存の構成オブジェクトの値を更新するように、より良い解決策は、あなたのFileLoadServce.Load(filepath)ロジックを変更することです。この解決策の利点は、この設定オブジェクトへの既に解決済みの参照(unityContainer.Resolve<IConfiguration>()を呼び出すことによって)も更新されることです。

+0

私は頻繁にポストの直後に答えを見つけた方法です。しかし解決された参照を更新することに関するヒントをありがとう。 – Kildareflare

関連する問題