private byte[] MakeTLVElement(ETLVType type, byte[] value)
        {
            TLVHeader header;

            header.m_type   = Convert.ToByte(type);
            header.m_length = Convert.ToByte(value.Length);
            IEnumerable <byte> result = header.GetBytes().Concat(value);

            return(result.ToArray());
        }
        private byte[] MakeGUIDElement(ETLVType type, Guid value)
        {
            var guidStringValue = value.ToString();
            var guidComponents  = guidStringValue.Split('-');
            var part1           = LongToByteArrayNetworkOrder(Convert.ToInt32(guidComponents[0], 16));
            var part2           = ShortToByteArrayNetworkOrder(Convert.ToInt16(guidComponents[1], 16));
            var part3           = ShortToByteArrayNetworkOrder(Convert.ToInt16(guidComponents[2], 16));
            var part4           = ShortToByteArrayNetworkOrder(Convert.ToInt16(guidComponents[3], 16));

            IEnumerable <byte> result = part1.Concat(part2).Concat(part3).Concat(part4);
            var guidArray             = value.ToByteArray().Skip(result.Count());

            result = result.Concat(guidArray);

            return(MakeTLVElement(type, result.ToArray()));
        }
        private byte[] MakeStringElement(ETLVType type, string value)
        {
            var asciiStringValue = Encoding.ASCII.GetBytes(value);

            return(MakeTLVElement(type, asciiStringValue));
        }