我想创建一个自定义的可序列化“字符串”类来处理默认字符串格式,而无需在所有模型中实现逻辑。
我用隐式字符串运算符创建了一个可序列化的类
[Serializable]
public class FormattedString : ISerializable
{
public static implicit operator FormattedString(string s)
{
return new FormattedString() { OriginalString = s };
}
public string OriginalString { get; set; }
public override string ToString()
{
if (string.IsNullOrWhiteSpace(this.OriginalString))
this.OriginalString = String.Empty;
this.OriginalString = OriginalString.Trim().Replace(Environment.NewLine, " ");
return this.OriginalString;
}
public void GetObjectData(SerializationInfo info, StreamingContext context)
{
info.AddValue("string", this.ToString());
}
}
我的问题是序列化对象看起来像这样
<?xml version="1.0" encoding="UTF-8"?>
<SomeXml>
<Zip2>
<OriginalString>2094</OriginalString>
</Zip2>
</SomeXml>
而不是这个
<?xml version="1.0" encoding="UTF-8"?>
<SomeXml>
<Zip2>2094</Zip2>
</SomeXml>
如何以我想要的方式序列化对象?这可能吗?