物业注入与Spring.Net数组(Property Inject an Array with Sp

2019-09-20 14:18发布

我已经使用Spring.Net IoC容器,并且可以使用它来注入那些类型的属性IList甚至IList<T>但我有点难倒到如何注入类型的属性这就是string[]

似乎没有成为一个<array>在XSD的定义的元素,并使用<list> <value> </list>也不起作用。

如果任何人都可以发布XML我需要使用属性的阵列它会非常感激注入

Answer 1:

如前所述文档中在这里你可以注入一个字符串数组作为一个逗号分隔的字符串(不知道语法是什么,如果必要的字符串逃脱实际逗号)。 换句话说,你的配置会是这个样子:

<object id="MyObject" type="Blah.SomeClass, Blah" >
    <property name="StringArrayProperty" value="abc,def,ghi" />
</object>

手动构建string[]与下面的语法也适用,如果你需要更复杂的东西(例如,如果你从一些其他的参考寻找个人价值了,而不是硬编码他们):

<object id="TestStrArr" type="string[]" >
    <constructor-arg value="3" />
    <property name="[0]" value="qwe" />
    <property name="[1]" value="asd" />
    <property name="[2]" value="zxc" />
</object>

<object id="MyObject" type="Blah.SomeClass, Blah" >
    <property name="StringArrayProperty" ref="TestStrArr" />
</object>


文章来源: Property Inject an Array with Spring.Net