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 9 | 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.