Я довольно новичок в C # (я использую .NET 4.0), поэтому, пожалуйста, потерпите меня. Мне нужно сохранить некоторые свойства объекта (их свойства int, double, String, boolean, datetime) в файл. Но я хочу зашифровать файлы, используя свое собственное шифрование, поэтому я не могу использовать FileStream для преобразования в двоичный файл. Также я не хочу использовать сериализацию объектов из-за проблем с производительностью. Идея проста: сначала мне нужно каким-то образом преобразовать объекты (их свойства) в двоичный (массив), затем зашифровать (своего рода xor) массив и добавить его в конец файла. При чтении сначала расшифруйте массив, а затем каким-то образом преобразуйте двоичный массив обратно в свойства объекта (из которого я буду генерировать объекты).
Я знаю (примерно =)) как конвертировать эти вещи вручную, и я мог бы закодировать это, но это было бы бесполезно (слишком медленно). Я думаю, что лучшим способом было бы просто получить представление свойств в памяти и сохранить его. Но я не знаю, как это сделать с помощью C # (может быть, с помощью указателей?). Также я думал об использовании MemoryStream, но опять же думаю, что это будет неэффективно. Я имею в виду конвертер классов, но он не поддерживает toByte (datetime) (документация говорит, что он всегда выдает исключение).
Для обратного преобразования я думаю, что единственным вариантом является класс Converter.
Примечание: Я знаю структуру объектов, и они не изменятся, также известна максимальная длина строки.
Спасибо за все ваши идеи и время.
РЕДАКТИРОВАТЬ: я буду хранить только части объектов, в некоторых случаях также части различных объектов (пару свойств от одного типа объекта и пару от другого), поэтому я думаю, что сериализация не вариант для меня.