【发布时间】:2012-01-03 14:00:03
【问题描述】:
我在 app/web.config 中注册了一个自定义配置部分,我们称之为MySection。我在该部分中有一个ElementCollection 元素,称为MyElements。在元素集合中,我希望拥有由不同类表示的元素 - 想法是这些是具有一些共同属性和一些特定于实例的相似类。
这里是一些xml配置示例:
<MySection>
<MyElements>
<Element1 name="someProp1" value="someValue" />
<Element2 name="someProp2" format="{0}{1}" />
</MyElements>
</MySection>
在我的简单示例中,所有元素都必须具有“名称”属性,有些还必须具有“值”属性,而另一些则具有“格式”属性。
在这里,我希望 Element1 和 Element2 在 .NET 运行时中由两个不同的类表示,它们具有定义“名称”属性的公共基类。
就我对 .NET 配置的深入研究而言,我的印象是元素集合(如此处的“MyElements”)应该包含同质元素(仅一种类型)。那么,是否有可能实现我想要的 - 让它包含不同类的元素。这个想法是避免为不同的元素类型拥有多个元素集合,而不是为每个自定义 ConfigurationElement 实现编写所有重复属性。
【问题讨论】:
标签: c# configuration