public Device GetDevice(string name, int type, bool forceNew) { Device dev = null; if (dicDevice.ContainsKey(type)) { List<Device> list = dicDevice[type]; for (int i = 0; i < list.Count; i++) { if (list[i].Name == name) { dev = list[i]; break; } } } if (dev == null && forceNew) { if (dicDevice.ContainsKey(type)) { dev = new Device(name, type, 0); dicDevice[type].Add(dev); } else { dev = new Device(name, type, 0); List<Device> list = new List<Device>(); list.Add(dev); dicDevice.Add(type, list); } } return dev; }
private void LoadXml(string fileName) { XmlDocument doc = new XmlDocument(); doc.Load(fileName); XmlNode nodeDevices = doc.SelectSingleNode("Devices"); foreach (XmlNode nodeDevice in nodeDevices.ChildNodes) { string name= nodeDevice.Attributes["Name"].Value; int type = int.Parse(nodeDevice.Attributes["Type"].Value); if (dicDevice.ContainsKey(type)) { int devIndex = dicDevice[type].Count; Device dev = new Device(name, type, devIndex); dicDevice[type].Add(dev); } else { Device dev = new Device(name, type, 0); dicDevice.Add(type, new List<Device>()); dicDevice[type].Add(dev); } } }