Поделиться через


SuppressMessageAttribute Класс

Определение

Подавляет создание отчетов о нарушении определенного правила анализа кода, допуская применение нескольких операций подавления к одному артефакту кода. Не применяется к диагностика компилятора.

public ref class SuppressMessageAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=true, Inherited=false)]
[System.Diagnostics.Conditional("CODE_ANALYSIS")]
public sealed class SuppressMessageAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.All, AllowMultiple=true, Inherited=false)>]
[<System.Diagnostics.Conditional("CODE_ANALYSIS")>]
type SuppressMessageAttribute = class
    inherit Attribute
Public NotInheritable Class SuppressMessageAttribute
Inherits Attribute
Наследование
SuppressMessageAttribute
Атрибуты

Примеры

В следующем примере кода показано использование атрибута для подавления SuppressMessageAttribute сообщений с предупреждениями о производительности.

#define CODE_ANALYSIS
using System;
using System.Diagnostics.CodeAnalysis;

namespace CodeAnalysisSample
{
    class Library
    {
        [SuppressMessage("Microsoft.Performance", "CA1801:ReviewUnusedParameters", MessageId = "isChecked")]
        [SuppressMessage("Microsoft.Performance", "CA1804:RemoveUnusedLocals", MessageId = "fileIdentifier")]
        static void FileNode(string name, bool isChecked)
        {
            string fileIdentifier = name;
            string fileName = name;
            string version = String.Empty;
        }
    }
}
#Const CODE_ANALYSIS = True
Imports System.Diagnostics.CodeAnalysis



Class Library
    
    <SuppressMessage("Microsoft.Performance", "CA1801:ReviewUnusedParameters", MessageId:="isChecked"), _
     SuppressMessage("Microsoft.Performance", "CA1804:RemoveUnusedLocals", MessageId:="fileIdentifier")> _
    Shared Sub FileNode(ByVal name As String, ByVal isChecked As Boolean)
        Dim fileIdentifier As String = name
        Dim fileName As String = name
        Dim version As String = String.Empty

    End Sub
End Class

Комментарии

Этот атрибут можно применить к любому элементу приложения. Полный список нарушений, которые можно подавлять, см. в статье Правила качества кода.

Примечание

Применяется ConditionalAttribute к этому классу, указывая символ предварительной обработки "CODE_ANALYSIS" в качестве условного символа, который определяет, включен или опущен вызов атрибута. Если символ определен, включается вызов атрибута; В противном случае вызов опущен.

Если щелкнуть правой кнопкой мыши предупреждение анализа кода в Visual Studio и выбрать Команду Подавить <идентификатор>> правила в файле подавления или Отключить <идентификатор>> правила в источнике (атрибут), атрибут SuppressMessage добавляется либо в глобальный файл подавления, либо в файл исходного кода. Дополнительные сведения об атрибуте SuppressMessage и его использовании в Visual Studio см. в разделе Подавление нарушений анализа кода.

Конструкторы

SuppressMessageAttribute(String, String)

Инициализирует новый экземпляр класса SuppressMessageAttribute с указанными категорией инструмента анализа кода и идентификатором правила анализа.

Свойства

Category

Возвращает категорию, определяющую классификацию атрибута.

CheckId

Получает идентификатор подавляемого правила инструмента анализа кода.

Justification

Возвращает или определяет причину подавления сообщения анализа кода.

MessageId

Возвращает или определяет расширенный критерий исключения.

Scope

Возвращает или задает область кода, к которой относится атрибут.

Target

Возвращает или определяет полный путь, представляющий целевой объект анализа кода.

TypeId

В случае реализации в производном классе возвращает уникальный идентификатор для этого атрибута Attribute.

(Унаследовано от Attribute)

Методы

Equals(Object)

Возвращает значение, показывающее, равен ли экземпляр указанному объекту.

(Унаследовано от Attribute)
GetHashCode()

Возвращает хэш-код данного экземпляра.

(Унаследовано от Attribute)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
IsDefaultAttribute()

При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса.

(Унаследовано от Attribute)
Match(Object)

При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту.

(Унаследовано от Attribute)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

(Унаследовано от Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Возвращает сведения о типе объекта, которые можно использовать для получения сведений о типе интерфейса.

(Унаследовано от Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

(Унаследовано от Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Предоставляет доступ к открытым свойствам и методам объекта.

(Унаследовано от Attribute)

Применяется к