Я писал С# в течение семи лет, и я продолжаю задаваться вопросом, почему перечисления должны быть интегрального типа? Было бы неплохо сделать что-то вроде:
enum ErrorMessage
{
NotFound: "Could not find",
BadRequest: "Malformed request"
}
Является ли это выбором дизайна языка или существуют фундаментальные несовместимости на уровне компилятора, CLR или IL?
Существуют ли другие языки с перечислениями со строковыми или сложными (т.е. объектами) типами? Какие языки?
(Я знаю обходных решениях, мой вопрос: зачем они нужны?)
EDIT: "обходные пути" = атрибуты или статические классы с константами:)