Ну, это в основном похоже на общий бинарный писатель... скажем, у вас есть объект, и вы не знаете, что это такое, но он у вас есть. Как вы записываете двоичные данные в двоичный файл, чтобы иметь возможность получить их позже?
Моя первоначальная идея, которую я не знаю, как сделать, заключалась в следующем:
- Как-нибудь выясните все члены объекта (может быть, отражение)
- Если члены не относятся к типам, доступным для записи BinaryWriter, повторите шаг 1 для члена.
- Сделайте заголовок, в котором указаны типы членов и то, как они собираются в объект (каким-то образом).
- Напишите заголовок
- Напишите все члены основного уровня
Я не знаю, как много использовать Reflection, поэтому я не уверен, как сделать большую часть вышеперечисленного. Однако это должно быть вполне выполнимо.
Как мне это сделать, если это возможно? Или как мне реализовать вышеизложенное?
bin