加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

控制反转 – 从XML文件加载Unity映射

发布时间:2020-12-16 23:17:12 所属栏目:百科 来源:网络整理
导读:我希望能够将以下内容加载到Unity中: UnityContainer.RegisterTypeClientRegistrationVM,ClientRegistrationVMDesign(); 通过XML文件加载它. 这里将是我希望发生的一些psudo代码. FileStream unityMappings = new FileStream(@".UnityMappings.xml",FileMo
我希望能够将以下内容加载到Unity中:

UnityContainer.RegisterType<ClientRegistrationVM,ClientRegistrationVMDesign>();

通过XML文件加载它.

这里将是我希望发生的一些psudo代码.

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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读