Что такое функция запретов С# 6.0 #pragma disable?

Список конечных функций С# 6.0 содержит функцию #pragma, указанную как "Добавлено", а пример - отключить предупреждения. Однако эта функция существовала в С# до 6.0. Что именно было добавлено в 6.0?

Ответ 1

Раньше вам приходилось указывать номер предупреждения. Чтобы отключить CS0501, вы должны использовать

#pragma warning disable 0501

Теперь вы можете использовать

#pragma warning disable CS0501

... что невероятно важно, когда у вас есть анализаторы кода Roslyn, которые создают предупреждения с разными идентификаторами. Он в основном изменил пространство имен предупреждений с "цифр" на "буквенно-цифровые строки".

Я не знаю деталей новой грамматики - я еще не видел спецификацию С# 6, но старая грамматика была:

предупреждение-лист:
  десятичной цифры
  warning-list whitespace opt, whitespace opt десятичные цифры