具有ISerializable构造函数的可序列化类

时间:2015-06-04 19:58:37

标签: c# serialization deserialization serializable

是否可以声明类[Serializable],然后添加一个 具有签名(SerializationInfo information, StreamingContext context)的构造函数在反序列化时执行某些特定任务?

1 个答案:

答案 0 :(得分:2)

您可以继承ISerializable,也可以只在类中添加一些自定义方法,这些方法在序列化/反序列化期间调用。

这些方法使用特殊属性进行修饰,告诉序列化程序调用它们:

OnDeserializedAttribute

OnDeserializingAttribute

OnSerializedAttribute

OnSerializingAttribute

MSDN有一个很棒的教程(我不需要在这里复制)如何使用这些属性:

https://msdn.microsoft.com/en-us/library/ty01x675%28v=vs.110%29.aspx并查看为每个属性提供的链接,以便为每个属性实现方法。