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

◆ TryParseUInt64Enum()

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

Definition at line 733 of file Enum.cs.

734 {
735 Number.ParsingStatus parsingStatus = Number.ParsingStatus.OK;
736 if (StartsNumber(value[0]))
737 {
738 parsingStatus = Number.TryParseUInt64IntegerStyle(value, NumberStyles.AllowTrailingWhite | NumberStyles.AllowLeadingSign, CultureInfo.InvariantCulture.NumberFormat, out result);
739 if (parsingStatus == Number.ParsingStatus.OK)
740 {
741 return true;
742 }
743 }
744 if (parsingStatus == Number.ParsingStatus.Overflow)
745 {
746 if (throwOnFailure)
747 {
748 Number.ThrowOverflowException(TypeCode.UInt64);
749 }
750 }
751 else if (TryParseByName(enumType, value, ignoreCase, throwOnFailure, out result))
752 {
753 return true;
754 }
755 result = 0uL;
756 return false;
757 }
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.Enum.StartsNumber(), System.Number.ThrowOverflowException(), System.Enum.TryParseByName(), System.Number.TryParseUInt64IntegerStyle(), and System.value.

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