定义
有些时候我们序列化一个自定义的类时并不想将它的所有成员都序列化,比如下面例子中A类中的count字段,它的值是由另外2个字段的值相加操作得出,既然是这样就没有必要序列化这个对象,只要在反序列化之后再加一次就行,这样就减少了序列化后对象的尺寸(同时降低在将序列化后的对象写如磁盘上时的存储需求和在网络上进行传送时对带宽的需求)
原理
要做到这个效果只需对在类成员count使用[NonSerialized]特性,如下所示:
若想让类自动初始化一个在序列化时被忽略的成员,使用IDeserializationCallback接口,运行时在每次反序列化完成后调用IDeserializationCallback.OnDeserialization方法。
实现
知道原理了代码就很简单了.