/// <summary> /// 获取对象实例 /// </summary> /// <param name="powerMeterType">仪表型号</param> /// <returns></returns> public static IPowerMeter GetInstance(PowerMeterType powerMeterType) { switch (powerMeterType) { case PowerMeterType.RS_NRT: return(new RS_NRT()); default: return(null); } }
private void btnPowerOpen_Click(object sender, RoutedEventArgs e) { PowerMeterType type = (PowerMeterType)(this.cmbPowerType.SelectedIndex); string addr = this.tbPowerAddr.Text; if (!isPowerMeterConnected) { powerMeter = PowerMeter.GetInstance(type); isPowerMeterConnected = powerMeter.Connect(addr); if (isPowerMeterConnected) { this.btnPowerOpen.Background = sucessColor; } else { this.btnPowerOpen.Background = normalColor; } } else { this.btnPowerOpen.Background = sucessColor; } }