public override void InitCfg(string filename) { MainTrace.Add(TraceType.Cfg, $"file => {Path.GetFileName(filename)} "); XmlDocument xdoc = XFunc.Load(filename); foreach (XmlNode cfgNode in xdoc.SelectNodes("descendant::cfg")) { foreach (XmlNode typeNode in cfgNode.SelectNodes("*")) { Type t = GetClassTypeByClassName(typeNode.Name); if (t != null) { MainTrace.Add(TraceType.Cfg, $"Class => {t.Name}"); foreach (XmlNode itemNode in typeNode.SelectNodes("*")) { LockUpdates++; try { MEDMObj obj = MainDic.GetObj(t, itemNode.Name); obj.SetValues(itemNode); MainTrace.Add(TraceType.Cfg, $"Item => {itemNode.Name} ({obj})"); } finally { LockUpdates--; } } } else { MainTrace.Add(TraceType.Error, $"Для узла конфигурации {typeNode.Name} класс не найден"); } } } }