SuppressMessageAttribute Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Suprime o relatório de uma violação específica de uma regra de análise de código, permitindo múltiplas supressões sobre um único artefacto de código. Não se aplica ao diagnóstico do compilador.
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
- Herança
- Atributos
Exemplos
O exemplo de código seguinte mostra a utilização do SuppressMessageAttribute atributo para suprimir mensagens de aviso de desempenho.
#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
Observações
Este atributo pode ser aplicado a qualquer elemento de aplicação. Para uma lista completa das violações que podem ser suprimidas, veja Regras de qualidade do Código.
Note
O ConditionalAttribute é aplicado a esta classe, especificando o símbolo de pré-processamento "CODE_ANALYSIS" como símbolo condicional que determina se a chamada de atributo está incluída ou omitida. Se o símbolo estiver definido, a chamada de atributo é incluída; caso contrário, a chamada é omitida.
Quando clica com o botão direito num aviso de análise de código em Visual Studio e escolhe Suprime <rule-ID>> em Suppression File ou Suppress <rule-ID>> em Source (atributo), um atributo SuppressMessage é adicionado quer ao ficheiro global de supressões, quer ao ficheiro de código-fonte. Para mais informações sobre o atributo SuppressMessage e a sua utilização em Visual Studio, consulte Suppress code analysis violations.
Construtores
| Name | Description |
|---|---|
| SuppressMessageAttribute(String, String) |
Inicializa uma nova instância da SuppressMessageAttribute classe, especificando a categoria da ferramenta de análise de código e o identificador para uma regra de análise. |
Propriedades
| Name | Description |
|---|---|
| Category |
Obtém a categoria que identifica a classificação do atributo. |
| CheckId |
Obtém a regra do identificador da ferramenta de análise de código a suprimir. |
| Justification |
Recebe ou define a justificação para suprimir a mensagem de análise de código. |
| MessageId |
Obtém ou define os critérios de exclusão alargados. |
| Scope |
Obtém ou define o âmbito do código relevante para o atributo. |
| Target |
Obtém ou define um caminho totalmente qualificado que representa o alvo de análise de código. |
| TypeId |
Quando implementado numa classe derivada, obtém um identificador único para esta Attribute. (Herdado de Attribute) |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Devolve um valor que indica se esta instância é igual a um objeto especificado. (Herdado de Attribute) |
| GetHashCode() |
Devolve o código de hash para esta instância. (Herdado de Attribute) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| IsDefaultAttribute() |
Quando sobrescrito numa classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada. (Herdado de Attribute) |
| Match(Object) |
Quando sobrescrito numa classe derivada, devolve um valor que indica se esta instância é igual a um objeto especificado. (Herdado de Attribute) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |
Implementações de Interface Explícita
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho. (Herdado de Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Recupera a informação de tipo de um objeto, que pode ser usada para obter a informação de tipo para uma interface. (Herdado de Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1). (Herdado de Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Proporciona acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute) |