Terraria v1.4.4.9
Terraria source code documentation
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros

◆ ToUInt64() [1/4]

ulong System.Enum.ToUInt64 ( )
inlineprivate

Definition at line 969 of file Enum.cs.

970 {
971 ref byte rawData = ref this.GetRawData();
973 {
974 case CorElementType.ELEMENT_TYPE_I1:
975 return (ulong)Unsafe.As<byte, sbyte>(ref rawData);
976 case CorElementType.ELEMENT_TYPE_U1:
977 return rawData;
978 case CorElementType.ELEMENT_TYPE_BOOLEAN:
979 if (rawData == 0)
980 {
981 return 0uL;
982 }
983 return 1uL;
984 case CorElementType.ELEMENT_TYPE_I2:
985 return (ulong)Unsafe.As<byte, short>(ref rawData);
986 case CorElementType.ELEMENT_TYPE_CHAR:
987 case CorElementType.ELEMENT_TYPE_U2:
988 return Unsafe.As<byte, ushort>(ref rawData);
989 case CorElementType.ELEMENT_TYPE_I4:
990 return (ulong)Unsafe.As<byte, int>(ref rawData);
991 case CorElementType.ELEMENT_TYPE_U4:
992 case CorElementType.ELEMENT_TYPE_R4:
993 return Unsafe.As<byte, uint>(ref rawData);
994 case CorElementType.ELEMENT_TYPE_I8:
995 return (ulong)Unsafe.As<byte, long>(ref rawData);
996 case CorElementType.ELEMENT_TYPE_U8:
997 case CorElementType.ELEMENT_TYPE_R8:
998 return Unsafe.As<byte, ulong>(ref rawData);
999 case CorElementType.ELEMENT_TYPE_I:
1000 return (ulong)(long)Unsafe.As<byte, IntPtr>(ref rawData);
1001 case CorElementType.ELEMENT_TYPE_U:
1002 return (ulong)Unsafe.As<byte, UIntPtr>(ref rawData);
1003 default:
1004 throw new InvalidOperationException(SR.InvalidOperation_UnknownEnumType);
1005 }
1006 }
CorElementType InternalGetCorElementType()

References System.Enum.InternalGetCorElementType(), and System.SR.InvalidOperation_UnknownEnumType.

Referenced by System.Enum.Format(), System.Enum.GetName< TEnum >(), System.Enum.IsDefined< TEnum >(), System.Enum.ToString(), and System.Enum.ToString().