Kil*_*are 5 c# unity-container
我使用 Unity 进行依赖项注入,并拥有一个 Config 类的实例,该类 Config 实现了在 Unity 容器中注册的 IConfig。
IConfiguration config = new Configuration();
unityContainer.RegisterInstance<IConfiguration>(config);
Run Code Online (Sandbox Code Playgroud)
当应用程序运行并且用户加载保存的配置时,我想使用加载的配置对象更新存储在 Unity 中的实例。例如下面的伪代码
IConfiguration loadedConfig = FileLoadService.Load(filepath);
unityContainer.Instance = loadedConfig;
Run Code Online (Sandbox Code Playgroud)
这可能吗?
您可以通过调用重新注册实例
unityContainer.RegisterInstance<IConfiguration>(config);
Run Code Online (Sandbox Code Playgroud)
但更好的解决方案是更改您的FileLoadServce.Load(filepath)逻辑,以便它更新现有配置对象的值。此解决方案的好处是,已解析的unityContainer.Resolve<IConfiguration>()对此配置对象的引用(通过调用)也会更新。
| 归档时间: |
|
| 查看次数: |
4851 次 |
| 最近记录: |