public long Seek(long offset, ПозицияВПотоке initialPosition = ПозицияВПотоке.Начало) { SeekOrigin origin; switch (initialPosition) { case ПозицияВПотоке.Конец: origin = SeekOrigin.End; break; case ПозицияВПотоке.Текущая: origin = SeekOrigin.Current; break; default: origin = SeekOrigin.Begin; break; } return(_underlyingStream.Seek(offset, origin)); }
/// <summary> /// /// Сдвигает текущую позицию потока на заданное количество байтов относительно начальной позиции. Если указано отрицательное смещение, позиция сдвигается в направлении к началу потока. /// Если изменение позиции недоступно (ДоступноИзменениеПозиции установлено в Ложь), будет сгенерировано исключение. /// </summary> /// /// <param name="offset"> /// Количество байтов, на которое нужно передвинуть позицию в потоке. </param> /// <param name="initialPosition"> /// Начальная позиция, от которой отсчитывается смещение. </param> /// <returns name="Number"> /// Числовым типом может быть представлено любое десятичное число. Над данными числового типа определены основные арифметические операции: сложение, вычитание, умножение и деление. Максимально допустимая разрядность числа 38 знаков.</returns> public long Перейти(int offset, ПозицияВПотоке initialPosition = ПозицияВПотоке.Начало) { return(_commonImpl.Seek(offset, initialPosition)); }