C# 如何将字符串数组组件添加到XML配置中?
我在XML配置文件中有许多描述不同配置的组件。每个配置都有一个字符串数组属性忽略的国家/地区。现在,我必须让所有国家忽略一些配置。为了减少配置文件的大小(并使其更全面),我想创建一个单独的组件allCountries,它将包含所有国家代码,并在需要时引用它。问题是正确定义字符串数组的组件 我用温莎城堡作为国际奥委会的容器。我尝试使用以下代码声明组件,但没有成功C# 如何将字符串数组组件添加到XML配置中?,c#,xml,inversion-of-control,castle-windsor,C#,Xml,Inversion Of Control,Castle Windsor,我在XML配置文件中有许多描述不同配置的组件。每个配置都有一个字符串数组属性忽略的国家/地区。现在,我必须让所有国家忽略一些配置。为了减少配置文件的大小(并使其更全面),我想创建一个单独的组件allCountries,它将包含所有国家代码,并在需要时引用它。问题是正确定义字符串数组的组件 我用温莎城堡作为国际奥委会的容器。我尝试使用以下代码声明组件,但没有成功 <component id="allCountries" service="System.String[], mscorlib"&
<component id="allCountries" service="System.String[], mscorlib">
<parameters>
<collection>
<list>
<item>AF</item>
<item>AL</item>
<item>AS</item>
<!-- there's a lot of items -->
</list>
</collection>
</parameters>
</component>
空军
艾尔
作为
当试图像上面所示那样声明组件时,我收到一个异常,表示组件allCountries
正在等待以下依赖项:未提供的参数“”。您忘记设置依赖项了吗?
这不起作用,因为string
或string[]
不是有效的组件类型。组件应该是类,而不是原语
理想情况下,您不会为此使用XML,但如果您确信它在您的案例中有意义,您可以将其放在XML属性中。我不是百分之百确定它会起作用,但是试试看。请参见文档中的示例
一个更干净的解决方案是将其包装在一个类中,而不是依赖于由于
string
或string[]
不是有效的组件类型而无法工作的string[]。组件应该是类,而不是原语
理想情况下,您不会为此使用XML,但如果您确信它在您的案例中有意义,您可以将其放在XML属性中。我不是百分之百确定它会起作用,但是试试看。请参见文档中的示例
一个更干净的解决方案是将其包装在一个类中,而不是依赖于string[]