如何将字符串数组组件添加到 XML 配置?
How to add string array component to XML configuration?
我在 XML 配置文件中有许多组件描述了不同的配置。每个配置都有一个 字符串数组 属性 IgnoredCountries。现在我必须在某些配置中忽略所有国家。为了减少配置文件的大小(并使其更全面),我想创建单独的组件 allCountries ,它将包含所有国家代码,并在需要时引用它。问题是正确定义字符串数组的组件。
我正在使用 Castle Windsor 作为 IoC 容器。我尝试使用以下代码声明组件,但没有成功。
<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 is waiting for the following dependencies: Parameter '' which was not provided. Did you forget to set the dependency?
这不起作用,因为 string
或 string[]
不是有效的组件类型。组件应该是 classes,而不是基元。
理想情况下,您不会为此使用 XML,但如果您确定它对您的情况有意义,您可以将其放在 xml 属性 中。我不是 100% 确定它会工作,但试一试。请参阅文档 here.
中的示例
更简洁的解决方案是将其包装在 class 中,而不是依赖于 string[]
我在 XML 配置文件中有许多组件描述了不同的配置。每个配置都有一个 字符串数组 属性 IgnoredCountries。现在我必须在某些配置中忽略所有国家。为了减少配置文件的大小(并使其更全面),我想创建单独的组件 allCountries ,它将包含所有国家代码,并在需要时引用它。问题是正确定义字符串数组的组件。
我正在使用 Castle Windsor 作为 IoC 容器。我尝试使用以下代码声明组件,但没有成功。
<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 is waiting for the following dependencies: Parameter '' which was not provided. Did you forget to set the dependency?
这不起作用,因为 string
或 string[]
不是有效的组件类型。组件应该是 classes,而不是基元。
理想情况下,您不会为此使用 XML,但如果您确定它对您的情况有意义,您可以将其放在 xml 属性 中。我不是 100% 确定它会工作,但试一试。请参阅文档 here.
中的示例更简洁的解决方案是将其包装在 class 中,而不是依赖于 string[]