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

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

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

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

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

textual
Листинг программы
  1. private void serialize(List<Task> tasks) {
  2.                 using (FileStream fs = new FileStream("ser " + task.getDateTime(), FileMode.OpenOrCreate)) {
  3.                     formatter.Serialize(fs, tasks);
  4.                 }
  5.         }
  6.  
  7. private void disserialization() {
  8.             using (FileStream fs = new FileStream("ser " + dateTime.Text, FileMode.OpenOrCreate))
  9.             {
  10.                 taskList = (List<Task>)formatter.Deserialize(fs);
  11.             }
  12.         }

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


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

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

10   голосов , оценка 3.9 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы