private static T LoadFromFile <T>() { string cfgFile = Path.Combine(sys.PathConfig, typeof(T).Name + ".cfg"); try { using (var stream = new StreamReader(cfgFile)) { var serializer = new SmoothXmlSerializer(); var data = serializer.Deserialize <T>(stream); stream.Close(); return(data); } } catch (Exception e) { e.ToString(); return((T)Activator.CreateInstance(typeof(T))); } }
private static void SaveConfig <T>(T cfg) { string cfgFile = Path.Combine(sys.PathConfig, typeof(T).Name + ".cfg"); try { try { if (File.Exists(cfgFile)) { File.Copy(cfgFile, cfgFile + ".bak", true); } } catch { } SmoothXmlSerializer x = new SmoothXmlSerializer(); TextWriter writer = new StreamWriter(cfgFile + ".new"); x.Serialize(writer, cfg); writer.Flush(); writer.Close(); File.Delete(cfgFile); File.Move(cfgFile + ".new", cfgFile); } catch (Exception e) { e.ToString(); try { if (File.Exists(cfgFile + ".bak")) { File.Copy(cfgFile + ".bak", cfgFile, true); } } catch { } } }