示例#1
0
 /// <summary>
 /// Flushes any pending data to the output destination.
 /// </summary>
 public override void Flush()
 {
     if (Disposed)
     {
         throw new ObjectDisposedException("BsonBinaryWriter");
     }
     if (State == BsonWriterState.Closed)
     {
         throw new InvalidOperationException("Flush called on closed BsonWriter.");
     }
     if (State != BsonWriterState.Done)
     {
         throw new InvalidOperationException("Flush called before BsonBinaryWriter was finished writing to buffer.");
     }
     if (_stream != null)
     {
         _buffer.WriteTo(_stream);
         _stream.Flush();
         _buffer.Clear(); // only clear the buffer if we have written it to a stream
     }
 }