public override long Seek(long offset, SeekOrigin origin)
{
if (_disposed) throw new ObjectDisposedException("_stream");
switch (origin)
{
case SeekOrigin.Begin:
_stream.Seek((ulong)offset);
break;
case SeekOrigin.Current:
_stream.Seek(_stream.Position + (ulong)offset);
break;
case SeekOrigin.End:
_stream.Seek(_stream.Size - (ulong)offset);
break;
default:
throw new ArgumentOutOfRangeException("offset");
}
return (long)_stream.Position;
}