Классы перечисления ограничивают определенные аспекты их использования и определения:
Классы перечисления неявно Sealed
. Вы не можете задать подкласс класса перечисления, потому что это расширит набор.
Свойства основанных на значениях классов перечисления неизменны. Только конструктор может присваивать значения свойств. MATLAB® неявно определяет SetAccess
атрибуты всех свойств, заданных основанными на значениях классами перечисления как immutable
. Вы не можете задать SetAccess
атрибут любому другому значению.
Все свойства, унаследованные классом перечисления на основе значений, которые не определены как Constant
должно иметь immutable
SetAccess
.
Свойства классов перечисления на основе указателей являются мутабельными. Можно задать значения свойств для образцов класса перечисления. См. «Mutable Handle vs. Immutable Value Enumeration Members».
Представитель перечисления не может иметь то же имя, что и свойство, метод или событие, заданное тем же классом.
Перечисления не поддерживают двоеточие (a:b
) операции. Для примера, FlowRate.Low:FlowRate.High
вызывает ошибку, даже если FlowRate
класс выводится из числового суперкласса.
Классы, которые задают перечисления, не могут ограничивать свойства того же класса перечисляемым типом. Создайте отдельный класс перечисления, чтобы ограничить значения свойств перечислением. Для получения информации об ограничении значений свойств смотрите Пример ограниченного свойства.
Если основной представитель перечисления устанавливает Hidden
атрибут, тогда вторичный представитель (один с тем же базовым значением) также должен задать Hidden
атрибут. Для получения дополнительной информации см. раздел «Скрыть представителей перечисления».