示例#1
0
        /// <summary>
        /// 根据传感器协议码号生产传感器实例
        /// </summary>
        /// <param name="dr">配置表项</param>
        /// <returns></returns>
        private Sensor CreatSensor(DataRow dr)
        {
            int    protocolType = Convert.ToInt32(dr["PROTOCOL_CODE"]);
            string obj          = ProtocolFactory.getInstance().GetSensorType(protocolType);

            try
            {
                object[] para = new object[1];
                para[0] = dr;
                object r = Assembly.GetExecutingAssembly().CreateInstance(obj, true, BindingFlags.Default, null, para /*args*/, null, null);
                return((Sensor)r);
            }
            catch (Exception ex)
            {
                _logger.Error(string.Format("传感器配置信息读取有误! SensorId={0} ", dr["SENSOR_ID"].ToString()) + ex.Message);
                return(null);
            }
        }