C# 继承ConfigurationElement以反序列化App.config文本元素

C# 继承ConfigurationElement以反序列化App.config文本元素,c#,C#,我想在我的项目的App.config文件中提供一个自定义配置部分。ConfigurationSection的默认实现在XML元素的属性部分加载/存储值。我宁愿将数据存储在XML元素的文本字段而不是属性部分。通过继承ConfigurationElement,我可以将此行为更改为在XML元素文本字段中加载/存储值 这篇文章为这项工作提供了很多指导 公共类远程站点:配置部分{ [配置属性(“Hi”)] 公共字符串Hi{get;set;} [配置属性(“Me”)] 公共配置TextElement Me{

我想在我的项目的App.config文件中提供一个自定义配置部分。ConfigurationSection的默认实现在XML元素的属性部分加载/存储值。我宁愿将数据存储在XML元素的文本字段而不是属性部分。通过继承ConfigurationElement,我可以将此行为更改为在XML元素文本字段中加载/存储值

这篇文章为这项工作提供了很多指导

公共类远程站点:配置部分{
[配置属性(“Hi”)]
公共字符串Hi{get;set;}
[配置属性(“Me”)]
公共配置TextElement Me{
获取{return(ConfigurationTextElement)this[“Me”];}
设置{this[“Me”]=value;}}
}
公共类ConfigurationTextElement:ConfigurationElement{
私人T_值;
受保护的重写void反序列化元素(XmlReader、bool serializeCollectionKey){
_value=(T)reader.ReadElementContentAs(typeof(T),null);
}
公共价值{
获取{返回_值;}
设置{u value=value;}}
}
使用RemoteSite时,在尝试从ConfigurationTextElement属性保存/获取数据时,我会出现隐式转换错误

var site=new RemoteSite();
//工作如期进行
site.Hi=“你好”;
字符串问候语=site.Hi;
//给出以下错误“无法将类型'ConfigurationTextElement'隐式转换为'string'。
site.Me=“我是”;
string me=site.me;
如何解决代码的RemoteSiteConfigurationTextElement一侧的强制转换问题。我希望用户能够将数据获取/设置为字符串,因为用户不关心RemoteSite如何存储信息


谢谢您的帮助。

您是在这里
site.Me=“我是”
还是在下面的行中收到错误?两者都给出了错误。