Десериализация бинарного файла - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день. Ситуация следующая... Есть класс, который нужно сериализовать. Сериализую в бинарник таким путем:
private void serialize(List<Task> tasks) {
            foreach (Task task in tasks) {
                using (FileStream fs = new FileStream("ser " + task.getDateTime(), FileMode.OpenOrCreate)) {
                    formatter.Serialize(fs, task);
                }
            }
        }
Диссериализация происходит следующим образом:
private void disserialization() {
            using (FileStream fs = new FileStream("ser " + dateTime.Text, FileMode.OpenOrCreate))
            {
                Task[] tasks = (Task[])formatter.Deserialize(fs);
                taskList.AddRange(tasks);
            }
        }
При вызове диссериализации вылетает исключение: An unhandled exception of type 'System.InvalidCastException' occurred in NameProject Мол не может преобразовать из Task в Task[]. Почему? Делал по гайду: http://metanit.com/sharp/tutorial/6.2.php

Решение задачи: «Десериализация бинарного файла»

textual
Листинг программы
private void serialize(List<Task> tasks) {
                using (FileStream fs = new FileStream("ser " + task.getDateTime(), FileMode.OpenOrCreate)) {
                    formatter.Serialize(fs, tasks);
                }
        }
 
private void disserialization() {
            using (FileStream fs = new FileStream("ser " + dateTime.Text, FileMode.OpenOrCreate))
            {
                taskList = (List<Task>)formatter.Deserialize(fs);
            }
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы