gpt4 book ai didi

c# - 我可以在 .NET 配置部分中添加文本节点而不是属性吗?

转载 作者:可可西里 更新时间:2023-11-01 02:59:00 24 4
gpt4 key购买 nike

我目前有一个 .NET 自定义配置部分,如下所示:

<customSection name="My section" />

我想要的是将其写成文本节点(我不确定这是不是正确的术语?),如下所示:

<customSection>
<name>My Section</name>
</customSection>

我当前的 customSection 类如下所示:

public class CustomSection: ConfigurationSection {

[ConfigurationProperty("name")]
public String Name {
get {
return (String)this["name"];
}
}

}

我应该怎么做才能使它成为文本节点?

最佳答案

一些研究表明,如果不创建自定义类来处理它,现有的配置类不支持该类型的元素。 This CodeProject文章介绍了创建一个新的 ConfigurationTextElement 类,该类是通用的并且可以将序列化字符串解析为对象(包括字符串,这就是文章中显示的内容)。

类代码简洁:

using System.Collections.Generic;
using System.Configuration;
using System.Xml;

public class ConfigurationTextElement<T> : ConfigurationElement
{
private T _value;
protected override void DeserializeElement(XmlReader reader,
bool serializeCollectionKey)
{
_value = (T)reader.ReadElementContentAs(typeof(T), null);
}

public T Value
{
get { return _value; }
}
}

关于c# - 我可以在 .NET 配置部分中添加文本节点而不是属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5078758/

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