public static ProgramSettings LoadFrom(string path) { if ((path != null) && File.Exists(path)) { FileStream serializationStream = null; try { serializationStream = File.OpenRead(path); ProgramSettings root = new BinaryFormatter().Deserialize(serializationStream) as ProgramSettings; root.mFilePath = path; root.PerformSaveLoad(SaveLoadDirections.Load, root); return root; } catch (Exception exception) { ErrorLog.WriteLine(exception); return null; } finally { if (serializationStream != null) { serializationStream.Close(); } } } return null; }
public virtual void SaveAs(string path) { this.mFilePath = path; FileStream serializationStream = null; MemoryStream stream2 = null; try { List<string> list = new List<string>(); this.GetVersionFields(list, this); this.Fields = list.ToArray(); stream2 = new MemoryStream(); new BinaryFormatter().Serialize(stream2, this); stream2.Position = 0L; ProgramSettings root = new BinaryFormatter().Deserialize(stream2) as ProgramSettings; root.PerformSaveLoad(SaveLoadDirections.Save, root); serializationStream = File.Open(path, FileMode.Create); new BinaryFormatter().Serialize(serializationStream, root); root = null; } catch (Exception exception) { ErrorLog.WriteLine(exception); } finally { if (serializationStream != null) { serializationStream.Close(); } if (stream2 != null) { stream2.Close(); } } }