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

◆ TryParseUInt32Enum()

static bool System.Enum.TryParseUInt32Enum ( RuntimeType enumType,
ReadOnlySpan< char > value,
uint maxInclusive,
bool ignoreCase,
bool throwOnFailure,
TypeCode type,
out uint result )
inlinestaticprivate

Definition at line 673 of file Enum.cs.

674 {
675 Number.ParsingStatus parsingStatus = Number.ParsingStatus.OK;
676 if (StartsNumber(value[0]))
677 {
678 parsingStatus = Number.TryParseUInt32IntegerStyle(value, NumberStyles.AllowTrailingWhite | NumberStyles.AllowLeadingSign, CultureInfo.InvariantCulture.NumberFormat, out result);
679 if (parsingStatus == Number.ParsingStatus.OK)
680 {
681 if (result <= maxInclusive)
682 {
683 return true;
684 }
685 parsingStatus = Number.ParsingStatus.Overflow;
686 }
687 }
688 ulong result2;
689 if (parsingStatus == Number.ParsingStatus.Overflow)
690 {
691 if (throwOnFailure)
692 {
693 Number.ThrowOverflowException(type);
694 }
695 }
696 else if (TryParseByName(enumType, value, ignoreCase, throwOnFailure, out result2))
697 {
698 result = (uint)result2;
699 return true;
700 }
701 result = 0u;
702 return false;
703 }
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.TryParseUInt32IntegerStyle(), System.type, and System.value.

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