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

◆ GetEnumData()

void System.Type.GetEnumData ( out string[] enumNames,
out Array enumValues )
inlineprivateinherited

Definition at line 1231 of file Type.cs.

1232 {
1233 FieldInfo[] fields = GetFields(BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic);
1234 object[] array = new object[fields.Length];
1235 string[] array2 = new string[fields.Length];
1236 for (int i = 0; i < fields.Length; i++)
1237 {
1238 array2[i] = fields[i].Name;
1239 array[i] = fields[i].GetRawConstantValue();
1240 }
1241 Comparer @default = Comparer.Default;
1242 for (int j = 1; j < array.Length; j++)
1243 {
1244 int num = j;
1245 string text = array2[j];
1246 object obj = array[j];
1247 bool flag = false;
1248 while (@default.Compare(array[num - 1], obj) > 0)
1249 {
1250 array2[num] = array2[num - 1];
1251 array[num] = array[num - 1];
1252 num--;
1253 flag = true;
1254 if (num == 0)
1255 {
1256 break;
1257 }
1258 }
1259 if (flag)
1260 {
1261 array2[num] = text;
1262 array[num] = obj;
1263 }
1264 }
1265 enumNames = array2;
1266 enumValues = array;
1267 }
static readonly Comparer Default
Definition Comparer.cs:13
virtual ? object GetRawConstantValue()
Definition FieldInfo.cs:127
FieldInfo[] GetFields()
Definition Type.cs:616

References System.array, System.Collections.Comparer.Default, System.Type.GetFields(), System.Reflection.FieldInfo.GetRawConstantValue(), System.Reflection.MemberInfo.Name, System.obj, and System.text.

Referenced by System.Type.GetEnumNames(), and System.Type.GetEnumRawConstantValues().