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

◆ TryParseInt64Enum()

static bool System.Enum.TryParseInt64Enum ( RuntimeType enumType,
ReadOnlySpan< char > value,
bool ignoreCase,
bool throwOnFailure,
out long result )
inlinestaticprivate

Definition at line 705 of file Enum.cs.

706 {
707 Number.ParsingStatus parsingStatus = Number.ParsingStatus.OK;
708 if (StartsNumber(value[0]))
709 {
710 parsingStatus = Number.TryParseInt64IntegerStyle(value, NumberStyles.AllowTrailingWhite | NumberStyles.AllowLeadingSign, CultureInfo.InvariantCulture.NumberFormat, out result);
711 if (parsingStatus == Number.ParsingStatus.OK)
712 {
713 return true;
714 }
715 }
716 ulong result2;
717 if (parsingStatus == Number.ParsingStatus.Overflow)
718 {
719 if (throwOnFailure)
720 {
721 Number.ThrowOverflowException(TypeCode.Int64);
722 }
723 }
724 else if (TryParseByName(enumType, value, ignoreCase, throwOnFailure, out result2))
725 {
726 result = (long)result2;
727 return true;
728 }
729 result = 0L;
730 return false;
731 }
static bool StartsNumber(char c)
Definition Enum.cs:865
static bool TryParseByName(RuntimeType enumType, ReadOnlySpan< char > value, bool ignoreCase, bool throwOnFailure, out ulong result)
Definition Enum.cs:793
static CultureInfo InvariantCulture

References System.Globalization.CultureInfo.InvariantCulture, System.L, System.Enum.StartsNumber(), System.Number.ThrowOverflowException(), System.Enum.TryParseByName(), System.Number.TryParseInt64IntegerStyle(), and System.value.

Referenced by System.Enum.TryParse(), and System.Enum.TryParse< TEnum >().