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))); }
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); }
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); } }
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); } }