Я прочитал страницу MSDN о том, как подавлять сообщения. Я не могу подавить
предупреждения для VS2008.
Я пробовал следующие инструкции:
В списке ошибок выберите
предупреждение или предупреждения для подавления.
Несколько предупреждений могут быть выбраны в
в то же время.
Щелкните правой кнопкой мыши предупреждение, укажите
Подавить сообщение (я) и нажмите
либо в источнике или в проекте
Файл подавления.
Специальное предупреждение подавлено,
и предупреждение появляется в ошибке
Окно списка с зачеркиванием.
Однако, когда я щелкаю правой кнопкой мыши по «Список ошибок» , я получаю только следующие опции:
- Сортировать по
- Показать столбцы
- Показать справку по ошибкам
- Копирование
- Предыдущая ошибка
- Следующая ошибка
Почему Visual Studios 2008 для VB.net не отображает «Подавить сообщения» ?
Я не могу сгенерировать следующие подавляющие сообщения:
<Scope:SuppressMessage("Rule Category", "Rule Id", "Justification", "MessageId", Scope = "Scope", Target = "Target")>
Проблема была в том, что у меня был ряд параллельных задач, которые зависели от флажков. Я хотел, чтобы каждая задача выполнялась одновременно, а затем присоединялась. Я преодолел предупреждение, используя метод обратного вызова, который уменьшался до тех пор, пока не были завершены все обратные вызовы.
т.е. (из памяти):
chkbox1.enable = false
chkbox2.enable = false
dim dlgChkbox1 as Action = addressof Task1
dim dlgChkbox2 as Action = addressof Task2
...
if chkbox1.checked = true then
result = dlgChkbox1.BeginInvoke(nothing,nothing)
end if
if chkbox2.checked = true then
result = dlgChkbox2.BeginInvoke(nothing,nothing)
end if
...
if chkbox1.checked = true then
dlgChkbox1.EndInvoke()
end if
if chkbox1.checked = true then
dlgChkbox2.EndInvoke()
end if
...
chkBox1.enable = true
chkBox2.enable = true
Предупреждение было неинициализированной переменной. Что было не так, поскольку оно зависело от идентичных операторов if. Вместо этого я решил использовать метод обратного вызова, который оказался лучшей альтернативой и не блокировал графический интерфейс.