gpt4 book ai didi

inversion-of-control - 从 XML 文件加载 Unity 映射

转载 作者:行者123 更新时间:2023-12-04 08:22:53 26 4
gpt4 key购买 nike

我希望能够将以下内容加载到 Unity 中:

UnityContainer.RegisterType<ClientRegistrationVM, ClientRegistrationVMDesign>();

通过 XML 文件加载它。

这将是我希望发生的一些伪代码。
FileStream unityMappings = new FileStream(@".\UnityMappings.xml", FileMode.Open)
UnityContainer.CreateFromXML(unityMappings);
unityMappings.Dispose();

并且 UnityMappings.xml 文件将包含类型所在的映射和 dll。

我想要的东西甚至可以用 Unity 实现吗?以前有人这样做过吗?

最佳答案

您可以在 Unity 中使用 XML 配置,甚至可以混合设计时配置 (XML) 和运行时(代码)配置。

然而Design-Time Configuration使用 UnityConfigurationSection并且仅通过此支持配置加载,因此如果您想将配置放在不同的(例如,不是 app.config 或 web.config)文件中,您需要做更多的工作。

幸运的是,您可以在以下文档中找到示例:Loading the Configuration from Alternative Files部分:

using System.Configuration;

var fileMap = new ExeConfigurationFileMap { ExeConfigFilename = "unity.config" };

Configuration configuration =
ConfigurationManager.OpenMappedExeConfiguration(fileMap,
ConfigurationUserLevel.None);

var unitySection = (UnityConfigurationSection)configuration.GetSection("unity");

var container = new UnityContainer().LoadConfiguration(unitySection);

关于inversion-of-control - 从 XML 文件加载 Unity 映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10857956/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com