using System; using System.Collections.Generic; using System.Text; namespace TFT_MelsecMcNet { /// /// 所有数据转换类的静态辅助方法 /// Static helper method for all data conversion classes /// public static class ByteTransformHelper { /// /// 结果转换操作的基础方法,需要支持类型,及转换的委托 /// /// 结果类型 /// 源 /// 实际转换的委托 /// 转换结果 public static OperateResult GetResultFromBytes(OperateResult result, Func translator) { try { if (result.IsSuccess) { return OperateResult.CreateSuccessResult(translator(result.Content)); } else { return OperateResult.CreateFailedResult(result); } } catch (Exception ex) { return new OperateResult() { Message = StringResources.Language.DataTransformError + SoftBasic.ByteToHexString(result.Content) + $" : Length({result.Content.Length}) " + ex.Message }; } } /// /// 结果转换操作的基础方法,需要支持类型,及转换的委托 /// /// 结果类型 /// 源结果 /// 转换结果 public static OperateResult GetResultFromArray(OperateResult result) { if (!result.IsSuccess) return OperateResult.CreateFailedResult(result); return OperateResult.CreateSuccessResult(result.Content[0]); } } }