public static CustomSimplifyStorage FromFile(string fileName) { if (!File.Exists(fileName)) { return new CustomSimplifyStorage() { FileName = fileName } } ; CustomSimplifyStorage storage = new CustomSimplifyStorage(); storage.FileName = fileName; var formatter = new BinaryFormatter(); using (FileStream stream = File.OpenRead(fileName)) { while (stream.Position < stream.Length) { string key = formatter.Deserialize(stream) as string; Equation equation = formatter.Deserialize(stream) as Equation; storage.library[key] = equation; storage.libraryByValue[equation.Value] = equation; } } return(storage); }
public void Save(string fileName) { CustomSimplifyStorage storage = new CustomSimplifyStorage(); var formatter = new BinaryFormatter(); using (FileStream stream = File.Create(fileName)) { foreach (KeyValuePair <string, Equation> pair in library) { formatter.Serialize(stream, pair.Key); formatter.Serialize(stream, pair.Value); } } }