【IT168技术文档】
为了让一个对象支持.NET序列化服务,用户需要做的只是为每一个关联的类加上[Serializable]特性,真的就是这样简单。如果你觉得给定的类有一些成员数据不能(或可能不)参与到序列化配置中,可以在这些域前加上[NonSerialized]特性。如果在可被序列化的类中有成员变量不需要保存(比如,固定的值、随机值、瞬态数据等)并且希望减小持久化图的大小,这样做是很有用的。
让我们继续。下面这个Radio类被标记为[Serializable],除了一个成员变量(radioID)例外,它被标记为[NonSerialized],因此radioID类将不会被持久化到指定的数据流中。
JamesBondCar类和Car基类也标记为[Serializable],并且定义了下列字段数据:[Serializable] public class Radio { public bool hasTweeters; public bool hasSubWoofers; public double[] stationPresets; [NonSerialized] public string radioID = "XF-552RR6"; }
[Serializable] public class Car { public Radio theRadio = new Radio(); public bool isHatchBack; } [Serializable] public class JamesBondCar : Car { public bool canFly; public bool canSubmerge; }