У меня есть следующий Enum:
Public Enum myEnum As Integer
first = &H1
second = &H2
third = &H4
fourth = &H8
fifth = &H10
sixth = &H20
End Enum
К сожалению, необходимо, чтобы элементы перечисления имели эти значения или, по крайней мере, имели значения, которые можно сравнивать в двоичном виде.
У меня есть класс, который может быть установлен во время конструирования как один из двух типов, тип со значениями, относящимися к первому-четвертому, и второй тип со значениями, относящимися к первому-шестому.
Я хотел бы использовать цикл For для перебора 1-4 или 1-6 элементов перечисления, но я обнаружил, что этот код:
For enumType as myEnum = myEnum.first to myEnum.fourth
Next
повторяется через {1,2,3,4,5,6,7,8}, а не через {1,2,4,8}.
Это не идеально.
Очевидно, что я могу обойти эту проблему, но я вижу сценарий, в котором этот обходной путь может быть легко пропущен при программировании обслуживания, и я надеюсь, что кто-то может порекомендовать простое решение, которое не сломается, если, например, значения в перечислении должны измениться позже.