using System; using System.Text; namespace MAX { public class MessageBuilder { private StringBuilder builder; public MessageBuilder() { builder = new StringBuilder(1024); builder.Append("\0\0"); } public MessageBuilder Append(T value) { builder.Append(value); return this; } public byte[] GetBytes() { int length = builder.Length - 2; if (length <= 0) throw new Exception("Message is too short"); else if (length > 65535) throw new Exception("Message is too long"); builder[0] = (char)(length / 256); builder[1] = (char)(length % 256); return Encoding.ASCII.GetBytes(builder.ToString()); } } }