protected void ProcessStartOfField(char currentCharacter)
{
if (IsNullOrEndOfLine(currentCharacter))
{
SaveField();
_state = (IsNull(currentCharacter) ? ParserState.StartOfRecord : ParserState.EndOfRecord);
}
else if (currentCharacter == _dialect.Quote && _dialect.Quoting != QuoteStyle.QuoteNone)
{
_state = ParserState.InQuotedField;
}
else if (currentCharacter == _dialect.Escape)
{
_state = ParserState.EscapedCharacter;
}
else if (char.IsWhiteSpace(currentCharacter) && _dialect.SkipInitialSpace)
{
}
else if (currentCharacter == _dialect.Delimiter)
{
SaveField();
}
else
{
AddChar(currentCharacter);
_state = ParserState.InField;
}
}