Свойство Вставить Массив с 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>