我重构了这样的代码:
public string CamelCASE { get; set; }
到:
public string CamelCase {get; set; }
只发现输入 XML 包含前一个大小写(我们称它为叫喊的骆驼)。我无法控制 XML 文档的生成方式。我也不会渴望收回我的更改。
我想将响亮的骆驼属性映射到轻声说话的属性。
我已经尝试过XmlElement和XmlMapping但没有取得更大的成功。谷歌搜索只给了我关于如何将东西映射到属性的点击,按照这篇文章的内容。但是,我只需要将 <LoudCAMEL>之类的东西反序列化为属性公共字符串 QuietCamel。
有没有一种顺利的方法呢?
编辑
添加属性后如下:
using System.Collections.Generic;
using System.Xml;
public class Beep : SuperBeep
{
private readonly BeepType _a;
public Beep() { _a = BeepType.SomeSome; }
public Beep(BeepType input) { _a = input; }
~Beep() { }
public override void Dispose() { }
public BeepType Aaa { get { return _a; } }
[XmlElement("CamelCASE")]
public bool CamelCase { get; set; }
}
我可以看到红色的波浪形高光告诉我Cannot access constructor 'XmlElement' here due to its protection level。但是,当我编译时,我让 IDE 大声喊叫'System.Xml.XmlElement' is not an attribute class。
坦率地说,我对使用属性的建议(这是针对 .NET 2.0)感到有些困惑,因为我的印象是 3.5 之前的 .NET 无法使用属性。我弄错了吗?