我有以下课程:
public class SomeClass
{
public double SomeValue {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我需要序列化它,XmlSerializer但是我需要在序列化期间将值乘以10并在反序列化期间将其除以10.有没有办法实现这个自定义逻辑?
这可能有点hacky,但不涉及序列化您的主要属性,而是为序列化提供虚拟属性,以适当地获取/设置主要属性的支持字段.
public class SomeClass
{
private double _someValue;
[XmlIgnore()]
public double SomeValue {
get { return _someValue; }
set {_someValue = value;}
}
[XmlElement("SomeValue")]
public double SomeValueSerialised
{
get { return _someValue * 10; }
set { _someValue = value/10; }
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:请注意,IXmlSerializable的实现可能是一种更简洁的方法,但它实际上取决于你班上的字段数量以及你感觉多么懒惰......
| 归档时间: |
|
| 查看次数: |
153 次 |
| 最近记录: |