System.Data.SqlClient.SqlCachedStream.Seek C# (CSharp) Method

Seek() public method

public Seek ( long offset, SeekOrigin origin ) : long
offset long
origin SeekOrigin
return long
        override public long Seek(long offset, SeekOrigin origin)
        {
            long pos = 0;

            if (null == _cachedBytes)
            {
                throw ADP.StreamClosed();
            }

            switch (origin)
            {
                case SeekOrigin.Begin:
                    SetInternalPosition(offset, nameof(offset));
                    break;

                case SeekOrigin.Current:
                    pos = offset + Position;
                    SetInternalPosition(pos, nameof(offset));
                    break;

                case SeekOrigin.End:
                    pos = TotalLength + offset;
                    SetInternalPosition(pos, nameof(offset));
                    break;

                default:
                    throw ADP.InvalidSeekOrigin(nameof(offset));
            }
            return pos;
        }