2015-01-26 2 views
1

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

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

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

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

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

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

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

ответ

2

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

+0

Я уже видел этот вопрос, слишком плохо, что я его уже не снял, я снова его проверил, а строка @ "string" больше не отображает предупреждение. Но есть ли какой-либо другой вариант для «строки» без @ не выдавать предупреждение тоже? Потому что я не хочу беспокоиться о переводе в моем приложении прямо сейчас ... – SomeNickName

+2

Это, безусловно, можно сделать. В меню ReSharper выберите «Параметры». В разделе «Проверка кода» -> «Уровень контроля» выберите вкладку C#. В разделе «Потенциальные проблемы с качеством кода» измените раскрывающийся список «Элемент локализуем» с «Предупреждение» на «Не показывать». –

+0

Спасибо, просто выключил! – SomeNickName