public DevicesBase(string _cgFile) { configFileName = _cgFile; if (string.IsNullOrEmpty(configFileName)) { configFileName = string.Format("Devices\\{0}\\{1}.xml", Info.Brand, DateTime.Now.ToString("yyyyMMddHHmmss")); } if (!string.IsNullOrEmpty(ConfigFileName) && System.IO.File.Exists(basePath + configFileName)) { Config = Tool.GetObjectByXML <T>(basePath + configFileName); } else { Config = DefaultConfig(); } cmdsFile = string.Format("Devices\\cmds\\{0}", Path.GetFileName(configFileName)); if (!Directory.Exists(Path.GetDirectoryName(basePath + cmdsFile))) { Directory.CreateDirectory(Path.GetDirectoryName(basePath + cmdsFile)); } if (File.Exists(basePath + cmdsFile)) { cmds = Tool.GetObjectByXML <List <Command> >(basePath + cmdsFile); } log = new Log(Info.Name); }
/// <summary> /// 获取已添加的设备 /// </summary> /// <returns></returns> private static List <IDevices> GetAddedDevices() { List <saveConfig> list = Tool.GetObjectByXML <List <saveConfig> >(path); if (list == null) { return(null); } List <IDevices> devs = new List <IDevices>(); List <saveConfig> scs = Tool.GetObjectByXML <List <saveConfig> >(path); Assembly ass = Assembly.GetExecutingAssembly(); foreach (var item in scs) { Type type = ass.GetType(item.Info.ClassInfo); ConstructorInfo cinfo = type.GetConstructor(new Type[] { typeof(string) }); IDevices idev = (IDevices)cinfo.Invoke(new object[] { item.ConfigFile }); idev.Info = item.Info; devs.Add(idev); } return(devs); }