Другие указали, что это невозможно. Я буду полагаться на них по специфике языка. Этот ответ больше "что делать, так как он не работает".
Очевидно, что ваши параметры зависят от вашего приложения. Чаще всего я видел перечисления, чтобы дать имя и область имен для произвольного целочисленного значения (в отличие от использования макросов). Если вы используете это, вы можете использовать альтернативный вариант создания словаря (или пары словарей), чтобы поддерживать индексы для этих имен и значений. В вашем базовом классе вы должны заполнить его значениями по умолчанию. В дочерних классах вы добавляете к нему таким же образом. В классах внуков, вы добавляете к нему так же. в классах правнуков вы добавляете ....
Издержки такой системы должны быть минимальными, поскольку вы просто хэшируете относительно короткие строки в качестве имен в дополнение к целым числам. Вы получаете удар во время выполнения по сравнению с использованием скомпилированного сравнения значений int, но поиск должен быть незначительным, если вы не работаете в режиме реального времени (маловероятно, если C # - ваш язык) или в корпоративной системе.