我有一个枚举属性。我希望这个属性的序列化XML是枚举的分裂驼峰式字符串,反之亦然。
我有两个函数,一个是ConcatCamelCase
,另一个是SplitCamelCase
,我希望序列化程序相应地使用它们,这可以通过用属性装饰字段来实现吗?
如果不是,那么另外一个选项是什么,而不必乱用所有其他字段?
答案 0 :(得分:1)
你必须做这样的事情:
public class SomeClass {
[XmlIgnore]
public MyEnum MyRealProperty {get;set;}
[XmlElement("MyRealProperty")]
[EditorBrowsable(EditorBrowsableState.Never), Browsable(false)]
public string MyProxyProperty
{
get {return SplitCamelCase(MyRealProperty);}
set {MyRealProperty = ConcatCamelCase(value);}
}
}
答案 1 :(得分:-1)
您可以使用XMlSerialization属性显式设置所有序列化的名称。
[XmlRoot("theNameYouWant")]
[XmlElement("theNameYouWant")]