ServiceStack.Text.RecyclableMemoryStream.Seek C# (CSharp) Méthode

Seek() public méthode

Sets the position to the offset from the seek location
Object has been disposed offset is larger than MaxStreamLength Invalid seek origin Attempt to set negative position
public Seek ( long offset, SeekOrigin loc ) : long
offset long How many bytes to move
loc SeekOrigin From where
Résultat long
        public override long Seek(long offset, SeekOrigin loc)
        {
            this.CheckDisposed();
            if (offset > MaxStreamLength)
            {
                throw new ArgumentOutOfRangeException("offset", "offset cannot be larger than " + MaxStreamLength);
            }

            int newPosition;
            switch (loc)
            {
                case SeekOrigin.Begin:
                    newPosition = (int)offset;
                    break;
                case SeekOrigin.Current:
                    newPosition = (int)offset + this.position;
                    break;
                case SeekOrigin.End:
                    newPosition = (int)offset + this.length;
                    break;
                default:
                    throw new ArgumentException("Invalid seek origin", "loc");
            }
            if (newPosition < 0)
            {
                throw new IOException("Seek before beginning");
            }
            this.position = newPosition;
            return this.position;
        }