Есть ли способ подавить предупреждения в С#, похожие на аннотацию Java @SuppressWarnings?

Есть ли способ подавить предупреждения в С#, похожие на аннотацию Java @SuppressWarnings?

В противном случае существует ли другой способ подавить предупреждения в Visual Studio?

Ответ 1

Да.

Для отключения используйте:

#pragma warning disable 0169, 0414, anyothernumber

Где числа - это идентификаторы предупреждений, которые вы можете прочитать из вывода компилятора.

Чтобы повторно использовать предупреждения после определенной части кода (что является хорошей идеей), используйте:

#pragma warning restore 0169, anythingelse

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

Ответ 2

Да, вы можете использовать аннотацию предупреждения pragma следующим образом:

#pragma warning disable 414
//some code that generates a warning
#pragma warning restore 414

опускание чисел отключает и восстанавливает все коды предупреждений...

Ответ 3

Есть. См. Страницу MSDN о том, как подавлять предупреждения компилятора.

В Visual Studio перейдите к своим свойствам проекта, выберите вкладку сборки и введите номер предупреждения в поле "Подавить предупреждения".

Из кода, чтобы отключить определенные предупреждения, вы можете использовать директиву #pragma:

public class MyClass
{
  #pragma warning disable 0168
  // code

  // optionally, restore warnings again
  #pragma warning restore 0168
  // more code
}

Ответ 4

Я настоятельно рекомендую использовать следующую форму

#pragma warning disable 649 // Field 'field' is never assigned to, and will always have its default value 'value'

#pragma warning restore 649

Комментарий в первой строке взят из первого подобного из документации MSDN для Предупреждение компилятора (уровень 4) CS0649. Так как предупреждения нумеруются в С#, это ваша единственная ссылка на то, что на самом деле происходит в коде, когда вы видите предупреждение отключенным. Поместив его в конец строки, это единственный способ найти причину появления в окне результатов поиска, когда вы выполняете поиск по всему решению для предупреждения о прагме.

Вы можете определить номера предупреждений, посмотрев в окно Вывод после создания проекта. Убедитесь, что в нем указано Показать вывод из: Build.

Ответ 7

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

Ответ 8

Вы можете использовать аннотацию данных SuppressMessage, которая предотвратит предупреждение.

Это выглядит примерно так:

[SuppressMessage("Reason #Enter whatever you'd like", "ID, must match what intellsense is showing it looks something like this: IDE0001", Justification = "(optional, your own description")]

Вот пример из реальной жизни:

[SuppressMessage("IntelliSenseCorrection", "IDE0001", Justification = "Do Not Remove <T> Variable, It Required For Dapper")]