public static void Serialize(ComplexData x, BinaryWriter w) { if (x == null) { w.Write(false); return; } w.Write(true); w.Write(x.SomeByte); w.Write(x.SomeShort); w.Write(x.SomeUShort); w.Write(x.SomeInt); w.Write(x.SomeUInt); w.Write(x.SomeLong); w.Write(x.SomeULong); StringSerializer.Serialize(x.SomeString, w); if (x.SomeArrString != null) { w.Write(true); w.Write((int)x.SomeArrString.Count); foreach (var element in x.SomeArrString) { StringSerializer.Serialize(element, w); } } else { w.Write(false); } if (x.SomeArrRec != null) { w.Write(true); w.Write((int)x.SomeArrRec.Count); foreach (var element in x.SomeArrRec) { SubDataSerializer.Serialize(element, w); } } else { w.Write(false); } }
public override void Serialize(BinaryWriter w) { base.Serialize(w); w.Write(requestId); ComplexDataSerializer.Serialize(data, w); StringSerializer.Serialize(name, w); if (datas != null) { w.Write(true); w.Write((int)datas.Count); foreach (var element in datas) { SubDataSerializer.Serialize(element, w); } } else { w.Write(false); } }