public override void SetLength(long value) { if (safeHandle.IsClosed) { throw new ObjectDisposedException("Stream has been closed"); } if (CanSeek == false) { throw new NotSupportedException("The stream does not support seeking"); } if (CanWrite == false) { throw new NotSupportedException("The stream does not support writing"); } if (value < 0) { throw new ArgumentOutOfRangeException("value is less than 0"); } FlushBuffer(); MonoIOError error; MonoIO.SetLength(safeHandle, value, out error); if (error != MonoIOError.ERROR_SUCCESS) { // don't leak the path information for isolated storage throw MonoIO.GetException(GetSecureFileName(name), error); } if (Position > value) { Position = value; } }