我有点困惑ISerializationSurrogate
,什么时候可能有必要。那么,如果你使用它,你实现了什么目标?
问问题
224 次
2 回答
1
ISerializationSurrogate 是我对(反)序列化(反序列化)包含在未标记[Serializable]
且无法修改的封闭程序集中的对象的首选方法。
实现此目的的唯一替代方法是一次手动构造 XML 节点一个属性,这可能很乏味。现在我为每个要序列化的对象编写一个类文件,并映射我选择的属性。其余的会自动发生,因为您可以使用SurrogateSelector
. 通用类(如 List)开箱即用地序列化。
另一种用途是 Colin Bull 在另一个答案中描述的用途。
于 2013-10-11T12:30:14.417 回答
1
可ISerializationSurrogate
用于控制对象的序列化。在某些情况下,我使用它来使在线表示更紧凑。例如转
Size: {
Width: 20,
Height: 30
}
进入
Size: 20x30
其他用途可能包括使不可变对象能够被序列化/反序列化。
于 2013-08-16T13:32:47.143 回答