/// <summary>
/// Starts writing a single row, must be invoked before writing any columns.
/// </summary>
public void StartRow()
{
CheckDisposed();
if (_column != -1 && _column != NumColumns)
{
throw new InvalidOperationException("Row has already been started and must be finished");
}
if (_buf.WriteSpaceLeft < 2)
{
_buf.Flush();
}
_buf.WriteInt16(NumColumns);
_column = 0;
}