exponenta event banner

Ограничения класса перечисления

Классы перечисления ограничивают некоторые аспекты их использования и определения:

  • Классы перечисления неявно Sealed. Невозможно определить подкласс класса перечисления, так как это расширит набор.

  • Свойства классов перечисления на основе значений являются неизменяемыми. Только конструктор может назначать значения свойств. MATLAB ® неявно определяет SetAccess атрибуты всех свойств, определенных классами перечисления на основе значений как immutable. Вы не можете установить SetAccess атрибут для любого другого значения.

  • Все свойства, унаследованные классом перечисления на основе значений, которые не определены как Constant должен иметь immutable SetAccess.

  • Свойства классов перечисления на основе дескрипторов могут изменяться. Можно задать значения свойств для экземпляров класса перечисления. См. раздел Изменяемый дескриптор в сравнении с элементами перечисления неизменяемых значений.

  • Член перечисления не может иметь то же имя, что и свойство, метод или событие, определенные тем же классом.

  • Перечисления не поддерживают двоеточие (a:b) операции. Например, FlowRate.Low:FlowRate.High вызывает ошибку, даже если FlowRate класс является производным от числового суперкласса.

  • Классы, определяющие перечисления, не могут ограничивать свойства одного класса типом перечисления. Создайте отдельный класс перечисления, чтобы ограничить значения свойств перечислением. Сведения об ограничении значений свойств см. в разделе Пример ограниченного свойства.

  • Если основной элемент перечисления устанавливает значение Hidden , то вторичный член (один с тем же базовым значением) должен также установить Hidden атрибут. Дополнительные сведения см. в разделе Скрытие элементов перечисления.

Связанные темы