Ошибка: указанная структура должна быть непреобразуемой или содержать информацию о макете. (Параметр 'структура'), когда я хочу преобразовать byte [] в объект - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь преобразовать из byte [] в объект таким простым методом.

Мой код:

private object ByteArrayToObject(byte[] bArray)
{
    var size = Marshal.SizeOf(bArray.Length);
    var bytes = new byte[size];
    var ptr = Marshal.AllocHGlobal(size);
    Marshal.Copy(bytes, 0, ptr, size);
    var returnObject = (object)Marshal.PtrToStructure(ptr, typeof(object));
    Marshal.FreeHGlobal(ptr);

    return returnObject;
}

byte[] requestDataByte = data.Data;
object requestDataObject = ByteArrayToObject(requestDataByte);

Когда я запускаю код, я получаю следующую ошибку: Указанная структура должна быть непреобразуемой или содержать информацию о макете.

Что я делаю не так и как мне это делать правильно? :)

...