public static CustomSettings LoadSettings(string fileName) { var settings = new CustomSettings(); var xmlSer = new XmlSerializer(settings.GetType()); XmlReader xmlReader = new XmlTextReader(fileName); try { var v = (CustomSettings)xmlSer.Deserialize(xmlReader); xmlReader.Close(); return(v); } catch (Exception exc) { if (exc.InnerException.GetType() == typeof(FileNotFoundException)) { settings = new CustomSettings { BaudRate = SettingsOptions.Default.baudRate, ComPort = SettingsOptions.Default.comPort, DataBits = SettingsOptions.Default.dataBits, FlowControl = SettingsOptions.Default.flowControl, NumberRepeat = SettingsOptions.Default.numberRepeat, Parity = SettingsOptions.Default.parity, StopBits = SettingsOptions.Default.stopBits, TimeOut = SettingsOptions.Default.timeOut, EndingSymbol = SettingsOptions.Default.endingSymbol, EndingSymbolEnable = SettingsOptions.Default.endingSymbolEnable }; return(settings); } } return(null); }
public static void SaveSettings(string fileName, CustomSettings settings) { var xmlSer = new XmlSerializer(settings.GetType()); var xmlSet = new XmlWriterSettings { NewLineOnAttributes = true, Indent = true, NewLineChars = "\r\n", Encoding = Encoding.UTF8 }; XmlWriter xmlWr = XmlWriter.Create(fileName, xmlSet); xmlSer.Serialize(xmlWr, settings); xmlWr.Close(); }