Локализуемое предупреждение о строке R#
Я новичок в синтаксисе C#, программирую на vb.net уже несколько лет.
ToolStripMenuItem setPriorityDropdown = new ToolStripMenuItem {Text = "Set priority"};
В этом коде R# предупреждает, что "Установить приоритет" является локализуемой строкой. Я искал в Интернете и обнаружил, что для удаления предупреждения вы должны использовать @ перед строкой, став @"Установить приоритет", однако для этого случая R# продолжает говорить, что оно локализуемо.
Я не мог получить правильный ответ о том, почему строка не должна быть локализуемой, и почему R# предупреждает об этом без (на первый взгляд) возможности отключить ее. Зачем
setPriorityDropdown.DropDownItems.Add("Priority 1"...
не получает предупреждение?
Что плохого в первом? Как я могу это исправить?
1 ответ
Проверьте ответ на этот вопрос для решения. Ваша настройка R# настроена так, чтобы игнорировать дословные строки и при этом сообщать о них как о локализуемых. Это означает, что R# хочет, чтобы вы переместили "волшебную" строку в файл ресурсов, который помогает с локализацией языка. Это связано с тем, что если вы хотите развернуть свое приложение на другом языке, вы можете легко определить переводы в файлах ресурсов вместо поиска по всей базе кода. В связи с тем, что при использовании синтаксиса инициализатора объекта возникает ошибка, а не метод Add(), я не уверен. Возможно, вместо этого R# жалуется на другую проблему, например, предпочитая использовать синтаксис инициализатора объекта.