using XGame.Framework.Serialization; namespace etoy { /// /// 序列化用类对象 /// 序列化时按顺序序列化属性 /// 不能反序列化 /// class SerializableFieldGroup : ISerializable { public List fields = new List(); void ISerializable.Deserialize(IReader reader) { throw new NotImplementedException(); } void ISerializable.Serialize(IWriter writer) { for (int i = 0; i < fields.Count; i++) { if (fields[i] is SerializableFieldGroup) { // 如果属性是类对象,需要在对象数据前先序列化一个布尔值 writer.Write(fields[i]); } else { // 其他数据,直接序列化 fields[i].Serialize(writer); } } } } }