/// <summary> /// 创建并返回一个失败的结果对象,该对象复制另一个结果对象的错误信息 /// </summary> /// <typeparam name="T1">目标数据类型一</typeparam> /// <typeparam name="T2">目标数据类型二</typeparam> /// <typeparam name="T3">目标数据类型三</typeparam> /// <typeparam name="T4">目标数据类型四</typeparam> /// <param name="result">之前的结果对象</param> /// <returns>带默认泛型对象的失败结果类</returns> public static XktResult <T1, T2, T3, T4> CreateFailedResult <T1, T2, T3, T4>(XktResult result) { return(new XktResult <T1, T2, T3, T4>() { ErrorCode = result.ErrorCode, Message = result.Message, }); }
public static XktResult <string> SetMigrationValue(string set, DataType type, string scale, string offset) { XktResult <string> result = new XktResult <string>(); if (scale == "1" && offset == "0") { try { switch (type) { case DataType.Byte: result.Content = Convert.ToByte(set).ToString(); break; case DataType.Short: result.Content = Convert.ToInt16(set).ToString(); break; case DataType.UShort: result.Content = Convert.ToUInt16(set).ToString(); break; case DataType.Int: result.Content = Convert.ToInt32(set).ToString(); break; case DataType.UInt: result.Content = Convert.ToUInt32(set).ToString(); break; case DataType.Long: result.Content = Convert.ToInt64(set).ToString(); break; case DataType.ULong: result.Content = Convert.ToUInt64(set).ToString(); break; case DataType.Float: result.Content = Convert.ToSingle(set).ToString(); break; case DataType.Double: result.Content = Convert.ToDouble(set).ToString(); break; default: result.Content = set; break; } result.IsSuccess = true; return(result); } catch (Exception) { result.IsSuccess = false; result.Message = "转换出错," + GetErrorMsg(type); return(result); } } else { try { switch (type) { case DataType.Byte: result.Content = Convert.ToByte((Convert.ToSingle(set) - Convert.ToSingle(offset)) / Convert.ToSingle(scale)).ToString(); break; case DataType.Short: result.Content = Convert.ToInt16((Convert.ToSingle(set) - Convert.ToSingle(offset)) / Convert.ToSingle(scale)).ToString(); break; case DataType.UShort: result.Content = Convert.ToUInt16((Convert.ToSingle(set) - Convert.ToSingle(offset)) / Convert.ToSingle(scale)).ToString(); break; case DataType.Int: result.Content = Convert.ToInt32((Convert.ToSingle(set) - Convert.ToSingle(offset)) / Convert.ToSingle(scale)).ToString(); break; case DataType.UInt: result.Content = Convert.ToUInt32((Convert.ToSingle(set) - Convert.ToSingle(offset)) / Convert.ToSingle(scale)).ToString(); break; case DataType.Long: result.Content = Convert.ToInt64((Convert.ToDouble(set) - Convert.ToDouble(offset)) / Convert.ToDouble(scale)).ToString(); break; case DataType.ULong: result.Content = Convert.ToUInt64((Convert.ToDouble(set) - Convert.ToDouble(offset)) / Convert.ToDouble(scale)).ToString(); break; case DataType.Float: result.Content = Convert.ToSingle((Convert.ToSingle(set) - Convert.ToSingle(offset)) / Convert.ToSingle(scale)).ToString(); break; case DataType.Double: result.Content = Convert.ToDouble((Convert.ToDouble(set) - Convert.ToDouble(offset)) / Convert.ToDouble(scale)).ToString(); break; default: result.Content = set; break; } result.IsSuccess = true; return(result); } catch (Exception) { result.IsSuccess = false; result.Message = "转换出错," + GetErrorMsg(type); return(result); } } }