コードにいくつかの変更を加えました。ディスクに保存する方法は正常に機能しています。
public void SaveList()
{
FileStream stream = new FileStream(@"persons.dat", FileMode.Create);
BinaryFormatter formatter = new BinaryFormatter();
formatter.Serialize(stream, myList);
stream.Close();
}
public void ReadList()
{
FileStream stream = new FileStream(@"persons.dat", FileMode.Open);
BinaryFormatter formatter = new BinaryFormatter();
List<Person> myList = formatter.Deserialize(stream) as List<Person>;
}
persons.dat ファイルが作成され、オブジェクトの状態がファイルに保存されていることがわかります。しかし、問題は読み込もうとするときにあります。プログラムを再実行してメソッド ReadList() を呼び出すと、エラーは表示されません。次に、リストに格納されているオブジェクトの詳細を表示するメソッドを呼び出しますが、リストは空です!!