Это не так, как enums
работает. Перечисление позволяет вам назвать конкретное значение, чтобы вы могли более разумно ссылаться на него в своем коде.
Если вы хотите ограничить область допустимых чисел, перечисления могут быть неправильным выбором. Альтернативой является создание коллекции допустимых значений , которые можно использовать. как прирост:
private int[] ValidGainValues = new []{ 1, 2, 4, 8};
Если вы хотите сделать этот тип более безопасным, вы можете даже создать собственный тип с закрытым конструктором, определить все допустимые значения как статические, публичные экземпляры, а затем представить их таким образом. Но вам все равно придется дать каждому действительному значению имя - поскольку в C # имена членов / переменных не могут начинаться с цифры (хотя они могут содержать их).
Теперь, если вы действительно хотите, это назначить конкретные значения для записей в перечислении GainValues, , которые вы МОЖЕТЕ сделать:
private enum GainValues { One = 1, Two = 2, Four = 4, Eight = 8 };