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

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

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

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

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

  • Свойства классов перечисления на основе указателей являются мутабельными. Можно задать значения свойств для образцов класса перечисления. См. «Mutable Handle vs. Immutable Value Enumeration Members».

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

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

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

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

Похожие темы