Я создаю приложение dotnet, которому нужно читать двоичный файл от стороннего производителя.
Файл содержит запись / структуру заголовка размером 516 байт (пару длинных идентификаторов и пару строк массива char фиксированной длины), за которыми следует ряд структур полезной нагрузки (по 240 байт целых чисел, логических значений и символов).
Я знаю, что могу прочитать этот файл в dotnet с помощью BinaryReader и десериализовать поля в структурах одно за другим.
У меня есть poco / structs, который правильно определяет свойства, необходимые для двух типов записей, но я не могу в любом случае дать BinaryFormatter знать, какой тип (и сколько) следует читать из потока, так как связыватель, кажется, полагается при сериализации typename вместе с записями полезных данных, которых нет в этом файле.
Я хотел бы знать: есть ли способ сделать это через BinaryFormatter, десериализовав poco напрямую?