public DetectionService(string providerName, string extension, string group) { //获取协议类型 int providerType = Convert.ToInt32(ConfigurationManager.AppSettings["providerType"]); if (providerType == 1) { this.provider = ProviderFactory.getSerialProvider(providerName); } this.extension = int.Parse(extension); this.group = int.Parse(group); }
//反射获取串口协议 public static ASerialDetection getSerialProvider(string providerName) { //string nameSpace = "detection.SerialProvider.impl.bestSun.BestSunPrvider"; LogHelper.WriteLog4("反射化协议开始,协议名称:" + providerName, LogType.Info); try { Type type = Type.GetType(providerName); ASerialDetection provider = type.Assembly.CreateInstance(providerName) as ASerialDetection; LogHelper.WriteLog4("协议初始化成功", LogType.Info); return(provider); } catch (Exception e) { LogHelper.WriteLog4(e.ToString(), LogType.Error); } return(null); }