Перечисляет как строки или строковые константы - PullRequest
0 голосов
/ 20 мая 2011

Я наткнулся на это сообщение в блоге, и мне было просто любопытно. Я обычно всегда использую constants для общих строк в моем приложении.

Мне было интересно, что вы думаете о плюсах / минусах прежнего пути?

Ответы [ 3 ]

5 голосов
/ 20 мая 2011

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

2 голосов
/ 20 мая 2011

Это во многом зависит от того, какую строку вы храните.

Если это что-то вроде текста, показанного пользователям, то вам не следует использовать константы в первую очередь.Поля только для чтения лучше, а ресурсы еще лучше.

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

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

2 голосов
/ 20 мая 2011

Метод использует отражение для извлечения строкового значения.Если вы делаете что-то критически важное для производительности, избегайте этого любой ценой ... константы - это путь, если вам нужна скорость.

Более того, используя метод, вы серьезно повредите оптимизатору компилятора, потому что каждая 'константа«Теперь станьте« вызовом метода ».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...