static Settings Load() { var path = Scripts.GetSettings; var settings = new Settings(); using (var runspace = RunspaceFactory.CreateRunspace()) { runspace.Open(); using (A.PowerShell ps = A.PowerShell.Create()) { ps.Runspace = runspace; var script = String.Format("new-object -property ({0}) -typename '{1}'", path, typeof (Settings).FullName); ps.AddScript(script); try { var results = ps.Invoke(); if (results.Any()) { settings = (results.First().BaseObject as Settings) ?? settings; } } catch { } } } return settings; }
public static void Save( Settings settings ) { const string path = Scripts.SaveSettings; var runspace = RunspaceFactory.CreateRunspace(); runspace.Open(); using (A.PowerShell ps = A.PowerShell.Create()) { ps.Runspace = runspace; ps.AddCommand(path); try { ps.Invoke( new[]{settings} ); } catch { } } }
void LoadSettings() { _settings = SettingsManager.Settings; }