Это во многом зависит от того, какую строку вы храните.
Если это что-то вроде текста, показанного пользователям, то вам не следует использовать константы в первую очередь.Поля только для чтения лучше, а ресурсы еще лучше.
Основной недостаток, который я вижу в предлагаемом решении, заключается в том, что оно будет очень неинтуитивным: когда я вижу использование строковой константы или поля, я сразу же узнаю, чтопродолжается.Если я увижу SomeEnum.SameValue.GetStringValue()
, я бы предположил, что это делает в значительной степени то, что сделал бы ToString()
, а не какое-то забавное занятие.
Кроме того, использование такого отражения будет намного медленнее, но это может не иметь значениятебе.