/// <summary> /// Loads the config file. /// </summary> private void LoadConfigFile() { string file = string.Format("{0}\\{1}", Application.StartupPath, this._configFile); var xml = new XmlDocument(); xml.Load(file); var nodeList = xml.ChildNodes; if (nodeList.Count < 2) throw new Exception(string.Format("MenuFile is invalid format. [ File Name: {0}]", this._configFile)); var keyList = new List<string>(); _itemList = new List<InstantItem>(); var rootNode = nodeList[1]; if (rootNode.ChildNodes.Count == 0) return; foreach (XmlNode node in rootNode.ChildNodes) { if (node.Attributes["Name"] == null) throw new Exception("Assembly name is missing."); if (node.ChildNodes.Count == 0) continue; foreach (XmlNode itemNode in node.ChildNodes) { if (itemNode.Attributes["Name"] == null) throw new Exception("Class name is missing."); if (itemNode.Attributes["Key"] == null) throw new Exception("Key is missing."); if(keyList.Contains(itemNode.Attributes["Key"].Value)) throw new Exception("Key is conflicted."); var item = new InstantItem { AssemblyName = node.Attributes["Name"].Value, ClassName = itemNode.Attributes["Name"].Value, Key = itemNode.Attributes["Key"].Value }; keyList.Add(itemNode.Attributes["Key"].Value); _itemList.Add(item); } } }
/// <summary> /// Loads the config file. /// </summary> private void LoadConfigFile() { string file = string.Format("{0}\\{1}", Application.StartupPath, this._configFile); var xml = new XmlDocument(); xml.Load(file); var nodeList = xml.ChildNodes; if (nodeList.Count < 2) { throw new Exception(string.Format("MenuFile is invalid format. [ File Name: {0}]", this._configFile)); } var keyList = new List <string>(); _itemList = new List <InstantItem>(); var rootNode = nodeList[1]; if (rootNode.ChildNodes.Count == 0) { return; } foreach (XmlNode node in rootNode.ChildNodes) { if (node.Attributes["Name"] == null) { throw new Exception("Assembly name is missing."); } if (node.ChildNodes.Count == 0) { continue; } foreach (XmlNode itemNode in node.ChildNodes) { if (itemNode.Attributes["Name"] == null) { throw new Exception("Class name is missing."); } if (itemNode.Attributes["Key"] == null) { throw new Exception("Key is missing."); } if (keyList.Contains(itemNode.Attributes["Key"].Value)) { throw new Exception("Key is conflicted."); } var item = new InstantItem { AssemblyName = node.Attributes["Name"].Value, ClassName = itemNode.Attributes["Name"].Value, Key = itemNode.Attributes["Key"].Value }; keyList.Add(itemNode.Attributes["Key"].Value); _itemList.Add(item); } } }