Бинарный файл, созданный одним приложением, не читается другим приложением - C#
Формулировка задачи:
Добрый день. Проблема: Первое приложение создает List<MyClass> и сериализует в бинарный файл. Другое приложение, использующее MyClass, этот файл не читает. Заранее благодарен за совет.
Решение задачи: «Бинарный файл, созданный одним приложением, не читается другим приложением»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
namespace ConsoleClassReader
{
[Serializable]
public class Person
{
public Person(string name, int age)
{
this.name = name;
this.age = age;
}
public string name;
public int age;
}
[Serializable]
public class Container
{
public const string filename = "data.dt";
public List<Person> list = new List<Person>();
public void SaveFile()
{
using (FileStream fs = new FileStream(filename, FileMode.OpenOrCreate))
{
BinaryFormatter bf = new BinaryFormatter();
bf.Serialize(fs, list);
}
}
public void OpenFile()
{
try
{
using (FileStream fs = new FileStream(filename, FileMode.Open))
{
BinaryFormatter bf = new BinaryFormatter();
list = (List<Person>)bf.Deserialize(fs);
}
}
catch { Console.WriteLine("Can not open file"); }
}
}
class Program
{
static void Main(string[] args)
{
Container c = new Container();
c.OpenFile();
for (int i = 0; i < c.list.Count; i++ )
{
Console.WriteLine("{0} {1}", c.list[i].name, c.list[i].age);
}
Console.ReadKey();
}
}
}