Локализуемое предупреждение о строке R#

Я новичок в синтаксисе C#, программирую на vb.net уже несколько лет.

ToolStripMenuItem setPriorityDropdown = new ToolStripMenuItem {Text = "Set priority"};

В этом коде R# предупреждает, что "Установить приоритет" является локализуемой строкой. Я искал в Интернете и обнаружил, что для удаления предупреждения вы должны использовать @ перед строкой, став @"Установить приоритет", однако для этого случая R# продолжает говорить, что оно локализуемо.

Я не мог получить правильный ответ о том, почему строка не должна быть локализуемой, и почему R# предупреждает об этом без (на первый взгляд) возможности отключить ее. Зачем

setPriorityDropdown.DropDownItems.Add("Priority 1"... 

не получает предупреждение?

Что плохого в первом? Как я могу это исправить?

1 ответ

Решение

Проверьте ответ на этот вопрос для решения. Ваша настройка R# настроена так, чтобы игнорировать дословные строки и при этом сообщать о них как о локализуемых. Это означает, что R# хочет, чтобы вы переместили "волшебную" строку в файл ресурсов, который помогает с локализацией языка. Это связано с тем, что если вы хотите развернуть свое приложение на другом языке, вы можете легко определить переводы в файлах ресурсов вместо поиска по всей базе кода. В связи с тем, что при использовании синтаксиса инициализатора объекта возникает ошибка, а не метод Add(), я не уверен. Возможно, вместо этого R# жалуется на другую проблему, например, предпочитая использовать синтаксис инициализатора объекта.

Другие вопросы по тегам