gpt4 book ai didi

.net - ConfigurationElementCollection 中的多个 ConfigurationElement 类型

转载 作者:行者123 更新时间:2023-12-01 03:00:22 24 4
gpt4 key购买 nike

我想要一个像下面这样的配置部分:

<mycollection>
<add name="myelement" type="class, assembly" var1="value" var2="value" />
<add name="myelement2" type="class2, assembly" var1="value" var3="value" var4="value" />
</mycollection>

这个想法是实际 ConfigurationElement created 是由 type 值定义的,并且每个元素都有自己特定的属性集。

另一种选择是所有元素都相同,但它们从不同的配置部分加载值,例如:
<mycollection>
<add name="myelement" configuration="myothersection" />
<add name="myelement2" configuration="myothersection2" />
</mycollection>

<myothersection type="class, assembly" var1="value" var2="value" />

这似乎更容易实现,但会导致配置文件更冗长。

第一个选项是否符合 .NET 配置模式,其次,这可能吗?

最佳答案

您可以做的其他事情是覆盖 OnDeserializeUnrecognizedElement .通过这种方式,您可以像这样创建一个 ParametersConfigurationElement:

<parameters>
<string name="Patrick Huizinga" />
<string country="the Netherlands" />
<int currentScore="206" />
</parameters>

OnDeserializeUnrecognizedElement 采用 XmlReader您可以查询自定义元素的属性。通过使用 TypeConverter.ConvertFromInvariantString (您可以从 TypeConverter 获得 TypeDescriptor.GetConverter )您甚至可以支持 DateTime 和 Uri 之类的类型,而无需任何额外的努力。

关于.net - ConfigurationElementCollection 中的多个 ConfigurationElement 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/978113/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com