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

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

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

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

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

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

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

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

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

Похожие темы