public void Insert(int index, Parameter parameter) { InnerList.Insert(index, parameter); }
public void Remove(Parameter parameter) { InnerList.Remove(parameter); }
public void Add(Parameter parameter) { if (string.IsNullOrEmpty(parameter.Name)) { throw new Exception("参数名称不能为空。"); } if (innerList == null) { innerList = new IgnoreCaseStringHashList(); } innerList.Add(parameter.Name, parameter); }
public void Add(Parameter parameter) { InnerList.Add(parameter); }
public Parameter AddOrReplace(string parameterName, object value) { if (string.IsNullOrEmpty(parameterName)) { throw new Exception("参数名称不能为空。"); } Parameter parameter = this[parameterName]; if (parameter == null) { parameter = new Parameter(parameterName, value); Add(parameter); } else { parameter.Value = value; } return parameter; }
public Parameter Clone() { Parameter parameter = new Parameter(); parameter.Assign(this); return parameter; }
public void Assign(Parameter parameter) { _name = parameter._name; _label = parameter._label; _dataType = parameter._dataType; _value = parameter._value; }
public static Parameter GetParameter(byte[] frameBytes, ref int index) { Parameter parameter = new Parameter(); //获取参数名称。 parameter.Name = GetString(frameBytes, ref index); //获取参数标签。 parameter.Label = GetString(frameBytes, ref index); //获取参数类型。 parameter.DataType = GetInt32(frameBytes, index); DataType dataType = DataTypeRegistry.GetDataTypeById(parameter.DataType); //检查参数类型。 if (dataType == null) { throw new Exception("无法识别的数据类型标识:" + parameter.DataType); } index = index + 4; //获取参数值长度。 int length = GetInt32(frameBytes, index); index = index + 4; //获取参数值。 if (length > 0) { byte[] bytes = ByteArrayUtil.CopyArray(frameBytes, index, length); parameter.Value = dataType.FromBinary(bytes, 0); index = index + bytes.Length; } return parameter; }
public static void FillByteList(IList byteList, Parameter parameter) { //获取参数类型。 DataType dataType = DataTypeRegistry.GetDataTypeById(parameter.DataType); //检查参数类型。 if (dataType == null) { throw new Exception("无法识别的数据类型标识:" + parameter.DataType); } //填充参数名称。 FillByteList(byteList, parameter.Name, true); //填充参数标签。 FillByteList(byteList, parameter.Label, true); //填充参数类型。 FillByteList(byteList, parameter.DataType); //获取参数值字节数组。 byte[] bytes = dataType.ToBinary(parameter.Value); //填充参数值长度。 FillByteList(byteList, bytes == null ? 0 : bytes.Length); //填充参数值。 if (bytes != null) { for (int i = 0; i < bytes.Length; i++) { byteList.Add(bytes[i]); } } }