void _CheckInitName(string initName, string funcName)
 {
     if (null == initName)
         throw new ArgumentNullException(string.Format("{0} failed By: name = null! ", funcName));
     if (!InitParamNames.Contains(initName))
         throw new ArgumentException(string.Format("{0} failed By: name = {1} is not included by InitParamNames:{2}", funcName, initName, string.Join("|", InitParamNames)));
 }
Beispiel #2
0
        public bool SetInitParamValue(string name, object value)
        {
            if (string.IsNullOrEmpty(name))
            {
                throw new ArgumentNullException("SetInitParamValue(name,value) failed By: name Is Null Or Empty");
            }
            if (!InitParamNames.Contains(name))
            {
                throw new ArgumentOutOfRangeException("SetInitParamValue(name,value) failed By: name = " + name + " Is does not exist in InitParam Names");
            }
            if (!GetInitParamDescribe(name).ParamType.IsAssignableFrom(value.GetType()))
            {
                throw new ArgumentException(string.Format("SetInitParamValue(name = {0}, value) faile By: value's Type = {1} can't Assignable to InitParam's Type:{2}", name, value.GetType().Name, GetInitParamDescribe(name).ParamType.Name));
            }

            if (name == "串口序号")
            {
                if (null == value)
                {
                    _initErrorInfo = string.Format("设置初始化参数\"串口序号\"失败,value = null");
                    return(false);
                }
                int spIndex = (int)value;
                if (spIndex < 0)
                {
                    _initErrorInfo = string.Format("设置初始化参数\"串口序号\"失败,value = {0} 不是合法的串口序号(必须大于/等于0)!", spIndex);
                    return(false);
                }
                portIndex      = spIndex;
                _initErrorInfo = "Success";
                return(true);
            }
            else if (name == "波特率")
            {
                baudRate       = (int)value;
                _initErrorInfo = "Success";
                return(true);
            }
            _initErrorInfo = "设置初始化参数失败:未知的初始化参数名:" + name;
            return(false);
        }
Beispiel #3
0
 public object GetInitParamValue(string name)
 {
     if (string.IsNullOrEmpty(name))
     {
         throw new ArgumentNullException("GetInitParamValue(name) failed By: name Is Null Or Empty");
     }
     if (!InitParamNames.Contains(name))
     {
         throw new ArgumentOutOfRangeException("GetInitParamValue(name) failed By: name = " + name + " Is does not exist in InitParam Names");
     }
     if (name == "串口序号")
     {
         return(portIndex);
     }
     else if (name == "波特率")
     {
         return(baudRate);
     }
     else
     {
         throw new Exception("GetInitParamValue(name) failed by name = " + name);
     }
 }
Beispiel #4
0
 public JFParamDescribe GetInitParamDescribe(string name)
 {
     if (string.IsNullOrEmpty(name))
     {
         throw new ArgumentNullException("GetInitParamDescribe(name) failed By: name Is Null Or Empty");
     }
     if (!InitParamNames.Contains(name))
     {
         throw new ArgumentOutOfRangeException("GetInitParamDescribe(name) failed By: name = " + name + " Is does not exist in InitParam Names");
     }
     if (name == "串口序号")
     {
         return(JFParamDescribe.Create(name, typeof(int), JFValueLimit.MinLimit, new object[] { 0 }));
     }
     else if (name == "波特率")
     {
         return(JFParamDescribe.Create(name, typeof(int), JFValueLimit.Options, new object[] { 9600, 115200 }));
     }
     else
     {
         throw new Exception("GetInitParamDescribe(name) failed by name = " + name);
     }
 }