Sdílet prostřednictvím


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.

Viz také