Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetNextStringValue()

string System.TimeZoneInfo.StringSerializer.GetNextStringValue ( )
inlineprivate

Definition at line 488 of file TimeZoneInfo.cs.

489 {
490 if (_state == State.EndOfLine)
491 {
492 throw new SerializationException(SR.Serialization_InvalidData);
493 }
495 {
496 throw new SerializationException(SR.Serialization_InvalidData);
497 }
498 State state = State.NotEscaped;
501 for (int i = _currentTokenStartIndex; i < _serializedText.Length; i++)
502 {
503 switch (state)
504 {
505 case State.Escaped:
508 state = State.NotEscaped;
509 break;
510 case State.NotEscaped:
511 switch (_serializedText[i])
512 {
513 case '\\':
514 state = State.Escaped;
515 break;
516 case '[':
517 throw new SerializationException(SR.Serialization_InvalidData);
518 case ']':
519 throw new SerializationException(SR.Serialization_InvalidData);
520 case ';':
523 {
524 _state = State.EndOfLine;
525 }
526 else
527 {
528 _state = State.StartOfToken;
529 }
530 return valueStringBuilder.ToString();
531 case '\0':
532 throw new SerializationException(SR.Serialization_InvalidData);
533 default:
535 break;
536 }
537 break;
538 }
539 }
540 if (state == State.Escaped)
541 {
542 throw new SerializationException(SR.Format(SR.Serialization_InvalidEscapeSequence, string.Empty));
543 }
544 throw new SerializationException(SR.Serialization_InvalidData);
545 }
static void VerifyIsEscapableCharacter(char c)

References System.TimeZoneInfo.StringSerializer._currentTokenStartIndex, System.TimeZoneInfo.StringSerializer._serializedText, System.TimeZoneInfo.StringSerializer._state, System.SR.Format(), System.SR.Serialization_InvalidData, System.SR.Serialization_InvalidEscapeSequence, System.state, and System.TimeZoneInfo.StringSerializer.VerifyIsEscapableCharacter().

Referenced by System.TimeZoneInfo.StringSerializer.GetNextDateTimeValue(), and System.TimeZoneInfo.StringSerializer.GetNextInt32Value().