Удаление недопустимого глобального атрибута "SuppressMessageAttribute" (IDE0076)
Свойство | Значение |
---|---|
Идентификатор правила | IDE0076 |
Title | Удаление недопустимого глобального SuppressMessageAttribute |
Категория | Качество кода |
Подкатегория | Прочие правила |
Применимые языки | C# и Visual Basic |
Обзор
Это правило помечает глобальные атрибуты SuppressMessageAttributes, у которых недопустимы Scope
или Target
. Атрибут должен быть либо удален, либо исправлен, чтобы ссылаться на допустимую область и целевой символ.
Варианты
Это правило не имеет связанных параметров стиля кода.
Пример
// IDE0076: Invalid target '~F:N.C.F2' - no matching field named 'F2'
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Category", "Id: Title", Scope = "member", Target = "~F:N.C.F2")]
// IDE0076: Invalid scope 'property'
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Category", "Id: Title", Scope = "property", Target = "~P:N.C.P")]
// Fixed code
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Category", "Id: Title", Scope = "member", Target = "~F:N.C.F")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Category", "Id: Title", Scope = "member", Target = "~P:N.C.P")]
namespace N
{
class C
{
public int F;
public int P { get; }
}
}
Отключение предупреждений
Если вы хотите отключить только одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и снова включить правило.
#pragma warning disable IDE0076
// The code that's violating the rule is on this line.
#pragma warning restore IDE0076
Чтобы отключить правило для файла, папки или проекта, присвойте ей значение серьезности none
в файле конфигурации.
[*.{cs,vb}]
dotnet_diagnostic.IDE0076.severity = none
Чтобы отключить всю эту категорию правил, задайте для категории none
значение серьезности в файле конфигурации.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-CodeQuality.severity = none
Дополнительные сведения см. в разделе Практическое руководство. Скрытие предупреждений анализа кода.