using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace MECF.Framework.RT.Core.IoProviders.Siemens.Transfer { /// /// 所有数据转换类的静态辅助方法 /// 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] ); } } }