Помогите плз по C#, сериализация десериализация

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

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

В одной программе сохраняю объект:
saveFileDialog.Title = "Сохранение теста";
saveFileDialog.Filter = "Файлы тестов|*.ftd|Все файлы|*.*";
if (saveFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.Cancel)
return;
try
{
FileStream fs = new FileStream(saveFileDialog.FileName, FileMode.OpenOrCreate);
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(fs, CurrentTest);
fs.Close();
}
catch (IOException ex)
{
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
в другой читаю его
if (openFileDialog.ShowDialog() == System.Windows.Forms.DialogResult.Cancel)
return;
try
{
FileStream fs = new FileStream(openFileDialog.FileName, FileMode.Open);
BinaryFormatter formatter = new BinaryFormatter();
CurrentTest = (Test)formatter.Deserialize(fs);
}
catch (IOException ex)
{
MessageBox.Show(ex.Message, "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
но прочитать не дает, выпадает исключение "Не удалось найти сборку "TestApplication, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"." подскажите плз, как лечить?

Решение задачи: «Помогите плз по C#, сериализация десериализация»

textual
Листинг программы
MyType1 myVariably = null;
using (FileStream fs = new FileStream("MyData.dat", FileMode.Create, FileAccess.Write))
{
    BinaryFormatter bf = new BinaryFormatter();
    bf.Serialize(fs, myVariably);
}
 
///
 
MyType2 myVariably = null;
using (FileStream fs = new FileStream("MyData.dat", FileMode.Open, FileAccess.Read))
{
    BinaryFormatter bf = new BinaryFormatter();
    object obj=bf.Deserialize(fs); // здесь никогда ошибки не будет
    myVariable=(MyType2)obj;       // а вот тут может возникнуть ошибка преобразования типов
}

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


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

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

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