//this is what is used currently
public class Header
{
public EndianFlag Endianness;
public MessageType MessageType;
public HeaderFlag Flags;
public byte MajorVersion;
public uint Length;
public uint Serial;
public HeaderField[] Fields;
}
//this might be better
public class Header
{
public EndianFlag Endianness;
public MessageType MessageType;
public HeaderFlag Flags;
public byte MajorVersion;
public uint Length;
public uint Serial;
public Dictionary<FieldCode,object> Fields;
}