Видя, как вы можете преобразовать любой документ в массив байтов и сохранить его на диск, а затем перестроить файл в его исходную форму (если у вас есть метаданные для имени файла и т.д.).
Зачем вам отмечать класс с помощью [Serializable]
и т.д.? Это только та же идея, информация о метаданных, поэтому, когда вы бросаете объект в свой класс, вещи правильно отображаются?