protected byte[] GetBytes(string[] keys, Action <PPDPackStreamWriter> writeCallback) { using (MemoryStream stream = new MemoryStream()) { var packWriter = new PackWriter(stream); foreach (PPDPackStreamWriter writer in packWriter.Write(keys)) { writeCallback(writer); } return(stream.ToArray()); } }
public byte[] GetBytes() { using (MemoryStream memoryStream = new MemoryStream()) using (PackWriter writer = new PackWriter(memoryStream)) { foreach (PPDPackStreamWriter streamWriter in writer.Write(new string[] { "Version", "Data" })) { switch (streamWriter.Filename) { case "Version": streamWriter.WriteByte(2); break; case "Data": var data = GetBytesImpl(); streamWriter.Write(data, 0, data.Length); break; } } return(memoryStream.ToArray()); } }