Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将字符串数组组件添加到XML配置中?_C#_Xml_Inversion Of Control_Castle Windsor - Fatal编程技术网

C# 如何将字符串数组组件添加到XML配置中?

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"&

我在XML配置文件中有许多描述不同配置的组件。每个配置都有一个字符串数组属性忽略的国家/地区。现在,我必须让所有国家忽略一些配置。为了减少配置文件的大小(并使其更全面),我想创建一个单独的组件allCountries,它将包含所有国家代码,并在需要时引用它。问题是正确定义字符串数组的组件

我用温莎城堡作为国际奥委会的容器。我尝试使用以下代码声明组件,但没有成功

<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[]