private DataKey ReadKey(long position) { var buffer = new byte[DataKey.HEADER_SIZE]; // why 79? this.file.ReadBuffer(buffer, position, buffer.Length); var key = new DataKey(this.file); using (var ms = new MemoryStream(buffer)) using (var rdr = new BinaryReader(ms)) key.Read(rdr, true); key.position = position; return(key); }
public static object FromReader(BinaryReader reader, byte version) { int size = reader.ReadInt32(); var keys = new IdArray <DataKey>(size); while (true) { int index = reader.ReadInt32(); if (index == -1) { break; } var key = new DataKey(null, null, -1, -1); key.Read(reader, true); keys.Add(index, key); } return(new DataKeyIdArray(keys)); }