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)); }