private static void CopyStrToDst <TDataType>(string[] srcStrs, TDataType[] dstStrs, IConvertor convertor, long startIndex = 0) { if ((srcStrs.Length - startIndex) < dstStrs.Length) { throw new SeeSharpFileException(SeeSharpFileErrorCode.DataLengthMismatch, i18n.GetStr("DataLengthMismatch")); } for (int i = (int)startIndex; i < dstStrs.Length + ((int)(startIndex)); i++) { dstStrs[i - startIndex] = (TDataType)convertor.Convert(srcStrs[i]); } }
private static void CopyStrToDst <TDataType>(string[] srcStrs, TDataType[,] dstStrs, IConvertor convertor, int rowIndex, uint[] columnIndexes) { int copySize = dstStrs.GetLength(1); if (columnIndexes.Length != copySize) { throw new SeeSharpFileException(SeeSharpFileErrorCode.ParamCheckError, i18n.GetFStr("ParamCheck.ColCountNotFit", rowIndex + 1)); } for (int i = 0; i < copySize; i++) { dstStrs[rowIndex, i] = (TDataType)convertor.Convert(srcStrs[columnIndexes[i]]); } }
/// <summary> /// Converts elements in the array to string representation. /// </summary> /// <typeparam name="TSource">The TSourse.</typeparam> /// <typeparam name="TResult">The TResult.</typeparam> /// <param name="array">The array.</param> /// <param name="convertor">The convertor.</param> /// <returns>The array with string items.</returns> public static TResult[] Transform <TSource, TResult>(this TSource[] array, IConvertor <TSource, TResult> convertor) { if (convertor == null) { throw new ArgumentNullException($"{nameof(convertor)} can't be null."); } TResult[] result = new TResult[array.Length]; for (int i = 0; i < array.Length; i++) { result[i] = convertor.Convert(array[i]); } return(result); }
/// <summary> /// преобразование объекта, для использования в другой объектной модели организации фильтрации данных /// </summary> /// <param name="visitor"> конвертор </param> public override void AcceptConvert(IConvertor visitor) { visitor.Convert(this); }
public virtual void AcceptConvert(IConvertor visitor) { visitor.Convert(this); }