public DLSID(byte[] data) { if (data is null) { throw new ArgumentNullException(nameof(data)); } if (data.Length != 16) { throw new ArgumentOutOfRangeException(nameof(data.Length)); } Data1 = (uint)EndianBitConverter.BytesToInt32(data, 0, Endianness.LittleEndian); Data2 = (ushort)EndianBitConverter.BytesToInt16(data, 4, Endianness.LittleEndian); Data3 = (ushort)EndianBitConverter.BytesToInt16(data, 6, Endianness.LittleEndian); Data4 = new byte[8]; for (int i = 0; i < 8; i++) { Data4[i] = data[8 + i]; } }