Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ Seek()

override long System.IO.MemoryStream.Seek ( long offset,
SeekOrigin loc )
inlineinherited

Definition at line 468 of file MemoryStream.cs.

469 {
471 if (offset > int.MaxValue)
472 {
473 throw new ArgumentOutOfRangeException("offset", SR.ArgumentOutOfRange_StreamLength);
474 }
475 switch (loc)
476 {
477 case SeekOrigin.Begin:
478 {
479 int num3 = _origin + (int)offset;
480 if (offset < 0 || num3 < _origin)
481 {
482 throw new IOException(SR.IO_SeekBeforeBegin);
483 }
484 _position = num3;
485 break;
486 }
487 case SeekOrigin.Current:
488 {
489 int num2 = _position + (int)offset;
490 if (_position + offset < _origin || num2 < _origin)
491 {
492 throw new IOException(SR.IO_SeekBeforeBegin);
493 }
494 _position = num2;
495 break;
496 }
497 case SeekOrigin.End:
498 {
499 int num = _length + (int)offset;
500 if (_length + offset < _origin || num < _origin)
501 {
502 throw new IOException(SR.IO_SeekBeforeBegin);
503 }
504 _position = num;
505 break;
506 }
507 default:
508 throw new ArgumentException(SR.Argument_InvalidSeekOrigin);
509 }
510 return _position;
511 }

References System.IO.MemoryStream._length, System.IO.MemoryStream._origin, System.IO.MemoryStream._position, System.SR.Argument_InvalidSeekOrigin, System.SR.ArgumentOutOfRange_StreamLength, System.IO.MemoryStream.EnsureNotClosed(), System.SR.IO_SeekBeforeBegin, and System.offset.

Referenced by System.Net.Http.HttpContent.LoadIntoBufferAsyncCore(), System.IO.Compression.ZipArchiveEntry.OpenInUpdateMode(), and System.IO.Compression.ZipArchiveEntry.WriteLocalFileHeaderAndDataIfNeeded().