Свойство Вставить Массив с Spring.Net

Я использовал контейнер IoC Spring.Net и могу использовать его для ввода свойств, которые имеют тип IList и даже IList<T> но я немного озадачен тем, как ввести свойство типа string[],

Там, кажется, нет <array> элемент, определенный в XSD и использующий <list> <value> </list> тоже не работает.

Если бы кто-нибудь мог опубликовать XML, который мне нужно внедрить, используя массив для свойства, это было бы очень ценно

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>
Другие вопросы по тегам