У нас есть перечисление с членами, имеющими случайные значения, скажем,
enum MyEnum
{
enumMember1 = 100,
enumMember2 = 10,
enumMember3 = 50
}
Мы не можем перебрать элементы перечисления в порядке, в котором они были определены!Enum.GetValues
и Enum.GetNames
оба внутренне сортируют элементы и дают результат!
, повторяя массив, возвращенный Enum.GetNames или Enum.GetValues, и делая .ToString()
для каждого из элементов массива, мы получаем
enumMember2, enumMember3, enumMember100.
Было просто интересно, есть ли какой-нибудь нестандартный подход для получения членов enum в порядке их создания?Сделал поиск, не получил много информации!Спасибо!
PS Я бы не хотел делать это через пользовательский атрибут!И во время его составления у меня возникли сомнения, генерируется ли IL для enum после сортировки членов Enum, когда я собираюсь проверить его!