通过XML配置统一字典
如何使用Unity容器通过
XML配置字典?
这有效: <register type="System.Collections.Generic.Dictionary[string,int]" > <constructor> <param name="capacity"> <value value="10" /> </param> </constructor> </register> 但我需要能够在XML配置中添加元素. 解决方法
我相信您发布的配置存在一些问题:
>看起来你正在尝试register an instance而不是register a type mapping.要做到这一点,你需要使用实例元素而不是寄存器元素. type =“System.Collections.Generic.Dictionary`2 [[System.String,mscorlib],[System.Int32,mscorlib]],mscorlib” 注意`2将泛型类型指定为具有两个类型参数. > Specifying a value for your instance是通过设置value属性实现的.这是一个字符串值,必须以某种方式转换为字典的一系列键值对.遗憾的是,这不会发生.您需要编写一个自定义转换器,它将接受一个字符串并创建您的键/值对.可以在here找到这种转换器的示例. 作为最后的注释(和个人偏好),我真的不喜欢使用Unity来创建这种类型的对象.我通常使用自定义配置文件进行任何非平凡的初始化设置,并严格使用Unity来注册依赖注入的类型映射. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |