Нет, вы не можете. Если вы посмотрите на определение Enum, его экземпляры являются окончательными и не могут быть расширены. Это имеет смысл, если вы понимаете перечисления как конечный, окончательный набор значений.
Существует различие между числительным (синтаксическим артефактом), который может быть двоичным, десятичным, шестнадцатеричным или любым другим, и фактическим семантическим числом, числовой сущностью, представленной синтаксически цифрой в контексте базовая система.)
В вашем примере вам нужно
- перечисления с указанием синтетических чисел
(десятичные цифры и алфавитный
символы, представляющие законно
шестнадцатиричном; то есть enum токены,
и
- классы, определяющие поведение (или
грамматика) требуется для синтаксического
представляющий число как цифру
(используя цифру [синтаксический]
перечисления).
То есть у вас есть токены или символы и грамматика / поведение, которые указывают, представляет ли поток токенов число в данной базе.
Но это немного не так (и, как вы сказали, это просто пример для примера). Возвращаясь к расширению перечислений ...
... ты не можешь и не должен. Перечисления не предназначены для представления вещей, которые могут быть расширены. Они предназначены для представления постоянной набора постоянных значений . Есть такие вещи, которые не наследуются.
Кроме того, не попадайтесь в ловушку расширения для расширения или для попытки втиснуть структуру в ваш код или модель.
Может показаться, что имеет смысл сделать один набор значений расширением другого. Чаще всего это не так. Используйте наследование для многократного использования поведения или сложной структуры, а не только данных, которые практически не имеют структуры с поведением, которое нельзя использовать повторно.