public void Serialize(ref TinyhandWriter writer, TinyhandSerializerOptions options) { writer.WriteArrayHeader(3); options.Resolver.GetFormatter <int>().Serialize(ref writer, this.X, options); options.Resolver.GetFormatter <int>().Serialize(ref writer, this.Y, options); options.Resolver.GetFormatter <int[]>().Serialize(ref writer, this.A, options); }
public void Deserialize(ref TinyhandReader reader, TinyhandSerializerOptions options) { var numberOfData = reader.ReadArrayHeader(); options.Security.DepthStep(ref reader); try { if (numberOfData-- > 0 && !reader.TryReadNil()) { this.X = options.Resolver.GetFormatter <int>().Deserialize(ref reader, options); } if (numberOfData-- > 0 && !reader.TryReadNil()) { this.Y = options.Resolver.GetFormatter <int>().Deserialize(ref reader, options); } if (numberOfData-- > 0 && !reader.TryReadNil()) { this.A = options.Resolver.GetFormatter <int[]>().Deserialize(ref reader, options) !; } else { this.A = new int[0]; } while (numberOfData-- > 0) { reader.Skip(); } } finally { reader.Depth--; } }
public void Setup() { this.h2h2 = new ObjectH2H2(); this.utf8 = TinyhandSerializer.SerializeToUtf8(this.h2h2); this.json = JsonSerializer.SerializeToUtf8Bytes(this.h2h2); this.simple = TinyhandSerializerOptions.Standard.WithCompose(TinyhandComposeOption.Simple); }
public void Serialize(ref TinyhandWriter writer, GenericsIntClass <T>?v, TinyhandSerializerOptions options) { if (v == null) { writer.WriteNil(); return; } // v.Serialize(ref writer, options); writer.WriteArrayHeader(3); options.Resolver.GetFormatter <T>().Serialize(ref writer, v.X, options); options.Resolver.GetFormatter <T>().Serialize(ref writer, v.Y, options); options.Resolver.GetFormatter <T[]>().Serialize(ref writer, v.A, options); }
public GenericsIntClass <T>?Deserialize(ref TinyhandReader reader, TinyhandSerializerOptions options) => this.Deserialize(null !, ref reader, options);