public void Serialize <T>(T Object, StreamWriter stream) where T : new() { BlockSerializer bs = new BlockSerializer(Options); if (ObjectReadComplete != null) { bs.ObjectReadComplete += ObjectReadComplete; } bs.Serialize(Object, stream); stream.WriteLine(); stream.Flush(); }
public T Deserialize <T>(string line, out SerializationResult Results) where T : new() { var bs = new BlockSerializer(Options); if (ObjectReadComplete != null) { bs.ObjectReadComplete += ObjectReadComplete; } var regSize = ObjectInspector.GetRegistrySizeAttribute <T>(); if (regSize != null) { if (line.Length != regSize.Length) { throw new InvalidOperationException($"Deserialization cancelled due to Length mismatch. Line-Lenght: {line.Length} Expected: {regSize.Length}"); } } return(bs.Deserialize <T>(new StringReader(line), out Results)); }