CA1200: Vyhněte se používání značek cref s předponou
Vlastnost | Hodnota |
---|---|
ID pravidla | CA1200 |
Název | Nepoužívejte značky cref s předponou |
Kategorie | Dokumentace |
Oprava způsobující chybu nebo chybu způsobující chybu | Nenarušující |
Povoleno ve výchozím nastavení v .NET 9 | No |
Příčina
Značka cref v komentáři dokumentace XML používá předponu.
Popis pravidla
Atribut cref ve značce dokumentace XML znamená "odkaz na kód". Určuje, že vnitřní text značky je prvek kódu, například typ, metoda nebo vlastnost. cref
Nepoužívejte značky s předponami, protože brání kompilátoru v ověřování odkazů. Brání také integrovanému vývojovému prostředí (IDE) sady Visual Studio v hledání a aktualizaci těchto odkazů na symboly během refaktoringu. Doporučujeme použít úplnou syntaxi bez předpon odkazovat na názvy symbolů ve značkách cref.
Jak opravit porušení
Chcete-li opravit porušení tohoto pravidla, odeberte předponu ze značky cref
. Například následující dva fragmenty kódu ukazují porušení pravidla a postup jeho opravy:
// 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() { }
}
Kdy potlačit upozornění
Toto upozornění je bezpečné potlačit, pokud odkaz na kód musí používat předponu, protože odkazovaný typ nelze najít kompilátorem. Pokud například odkaz na kód odkazuje na speciální atribut v celé rozhraní, ale soubor se zkompiluje proti přenosnému rozhraní, můžete toto upozornění potlačit.
Potlačení upozornění
Pokud chcete pouze potlačit jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, abyste pravidlo zakázali a znovu povolili.
#pragma warning disable CA1200
// The code that's violating the rule is on this line.
#pragma warning restore CA1200
Pokud chcete pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost v none
konfiguračním souboru.
[*.{cs,vb}]
dotnet_diagnostic.CA1200.severity = none
Další informace naleznete v tématu Jak potlačit upozornění analýzy kódu.