Классы перечисления ограничивают некоторые аспекты их использования и определения:
Классы перечисления неявно Sealed. Невозможно определить подкласс класса перечисления, так как это расширит набор.
Свойства классов перечисления на основе значений являются неизменяемыми. Только конструктор может назначать значения свойств. MATLAB ® неявно определяет SetAccess атрибуты всех свойств, определенных классами перечисления на основе значений как immutable. Вы не можете установить SetAccess атрибут для любого другого значения.
Все свойства, унаследованные классом перечисления на основе значений, которые не определены как Constant должен иметь immutable
SetAccess.
Свойства классов перечисления на основе дескрипторов могут изменяться. Можно задать значения свойств для экземпляров класса перечисления. См. раздел Изменяемый дескриптор в сравнении с элементами перечисления неизменяемых значений.
Член перечисления не может иметь то же имя, что и свойство, метод или событие, определенные тем же классом.
Перечисления не поддерживают двоеточие (a:b) операции. Например, FlowRate.Low:FlowRate.High вызывает ошибку, даже если FlowRate класс является производным от числового суперкласса.
Классы, определяющие перечисления, не могут ограничивать свойства одного класса типом перечисления. Создайте отдельный класс перечисления, чтобы ограничить значения свойств перечислением. Сведения об ограничении значений свойств см. в разделе Пример ограниченного свойства.
Если основной элемент перечисления устанавливает значение Hidden , то вторичный член (один с тем же базовым значением) должен также установить Hidden атрибут. Дополнительные сведения см. в разделе Скрытие элементов перечисления.