Мне надо именно проапдейтить класс Settings. Но когда я вручную парсаю *.config, там инты-то сохраняются как стринги, и соответственно возникает ошибка, когда я интовой проперте пробую присвоить вытянутый стринг.
| Код | public void UpdateSettings() { List<SettingsProperty> list = LoadFromFile(); foreach (SettingsProperty sp in list) { //Settings1 - это именно тот класс, который мне надо поменять Settings1.Default[sp.Name] = sp.DefaultValue;//и здесь возникает ошибка } }
private List<SettingsProperty> LoadFromFile() { Assembly asm = Assembly.GetCallingAssembly(); string cfgFile = asm.CodeBase + ".config"; const string nodeName = "setting";
XmlDocument doc = new XmlDocument(); doc.Load(new XmlTextReader(cfgFile));
XmlNodeList nodes = doc.GetElementsByTagName(nodeName); List<SettingsProperty> result = new List<SettingsProperty>(); foreach (XmlNode node in nodes) { SettingsProperty sp = new SettingsProperty(node.Attributes[0].Value); sp.DefaultValue = node.InnerText; sp.SerializeAs = (SettingsSerializeAs)Enum.Parse(typeof(SettingsSerializeAs), node.Attributes[1].Value); result.Add(sp); } return result; }
|
|