Чтение двоичного файла с использованием BinaryFormatter - PullRequest
0 голосов
/ 26 июня 2019

Я создаю приложение dotnet, которому нужно читать двоичный файл от стороннего производителя. Файл содержит запись / структуру заголовка размером 516 байт (пару длинных идентификаторов и пару строк массива char фиксированной длины), за которыми следует ряд структур полезной нагрузки (по 240 байт целых чисел, логических значений и символов).

Я знаю, что могу прочитать этот файл в dotnet с помощью BinaryReader и десериализовать поля в структурах одно за другим.

У меня есть poco / structs, который правильно определяет свойства, необходимые для двух типов записей, но я не могу в любом случае дать BinaryFormatter знать, какой тип (и сколько) следует читать из потока, так как связыватель, кажется, полагается при сериализации typename вместе с записями полезных данных, которых нет в этом файле.

Я хотел бы знать: есть ли способ сделать это через BinaryFormatter, десериализовав poco напрямую?

...