protected override object DoDeserializeComplicatedType(Type type, byte[] buff, ref int offset) { int num = ByteConverter.Parse <int>(buff, ref offset); object obj2 = null; if (num > -1) { obj2 = Activator.CreateInstance(type); Class137 class2 = this.xrxcLalgu3(type); for (int i = 0; i < class2.method_1().Length; i++) { object obj3 = base.DoDeserialize(class2.method_1()[i].PropertyType, buff, ref offset); this.method_0(type, class2.method_0(), obj2, class2.method_1()[i].Name, obj3); } } return(obj2); }
protected override void DoSerializeComplicatedType(Type type, object obj, MemoryStream stream) { if (obj == null) { byte[] buffer3 = ByteConverter.ToBytes <int>(-1); stream.Write(buffer3, 0, buffer3.Length); } else { Class137 class2 = this.xrxcLalgu3(type); MemoryStream stream2 = new MemoryStream(); for (int i = 0; i < class2.method_1().Length; i++) { object obj2 = class2.method_0().GetValue(obj, class2.method_1()[i].Name); base.DoSerialize(stream2, class2.method_1()[i].PropertyType, obj2); } byte[] buffer = stream2.ToArray(); byte[] buffer2 = ByteConverter.ToBytes <int>(buffer.Length); stream.Write(buffer2, 0, buffer2.Length); stream.Write(buffer, 0, buffer.Length); } }