Compartilhar via


CA1200: Evitar o uso de marcas cref com um prefixo

Property Valor
ID da regra CA1200
Título Evitar o uso de marcas cref com um prefixo
Categoria Documentação
A correção é com ou sem interrupção Sem interrupção
Habilitado por padrão no .NET 8 Não

Causa

A marca cref em um comentário de documentação XML usa um prefixo.

Descrição da regra

O atributo cref em uma marca de documentação XML significa "referência de código". Ele especifica que o texto interno da marca é um elemento de código, como um tipo, método ou propriedade. Evite usar marcas cref com prefixos, pois isso impede que o compilador verifique as referências. Também impede que o IDE (ambiente de desenvolvimento integrado) do Visual Studio localize e atualize essas referências de símbolo durante refatorações. É recomendável usar a sintaxe completa sem prefixos para referenciar nomes de símbolo em marcas cref.

Como corrigir violações

Para corrigir uma violação dessa regra, remova o prefixo da marca cref. Por exemplo, os dois seguintes snippets de código mostram uma violação da regra e como corrigi-la:

// Violates CA1200
/// <summary>
/// Type <see cref="T:C" /> contains method <see cref="F:C.F" />
/// </summary>
class C
{
    public void F() { }
}
// Does not violate CA1200
/// <summary>
/// Type <see cref="C" /> contains method <see cref="F" />
/// </summary>
class C
{
    public void F() { }
}

Quando suprimir avisos

É seguro suprimir esse aviso se a referência de código precisar usar um prefixo porque o tipo referenciado não é localizável pelo compilador. Por exemplo, se uma referência de código fizer referência a um atributo especial na estrutura completa, mas o arquivo for compilado na estrutura portátil, você poderá suprimir esse aviso.

Suprimir um aviso

Para suprimir apenas uma violação, adicione diretivas de pré-processador ao arquivo de origem a fim de desabilitar e, em seguida, reabilitar a regra.

#pragma warning disable CA1200
// The code that's violating the rule is on this line.
#pragma warning restore CA1200

Para desabilitar a regra em um arquivo, uma pasta ou um projeto, defina a severidade como none no arquivo de configuração.

[*.{cs,vb}]
dotnet_diagnostic.CA1200.severity = none

Para obter mais informações, confira Como suprimir avisos de análise de código.

Confira também