CA1200: Unikaj używania tagów cref z prefiksem

Właściwości Wartość
Identyfikator reguły CA1200
Stanowisko Unikaj używania tagów cref z prefiksem
Kategoria Dokumentacja
Poprawka powodująca niezgodność lub niezgodność Niezgodność
Domyślnie włączone na platformie .NET 8 Nie.

Przyczyna

Tag cref w komentarzu dokumentacji XML używa prefiksu.

Opis reguły

Atrybut cref w tagu dokumentacji XML oznacza "odwołanie do kodu". Określa, że tekst wewnętrzny tagu jest elementem kodu, takim jak typ, metoda lub właściwość. Unikaj używania cref tagów z prefiksami, ponieważ uniemożliwia kompilatorowi weryfikowanie odwołań. Zapobiega to również znajdowaniu i aktualizowaniu odwołań do symboli podczas refaktoryzacji zintegrowanego środowiska projektowego (IDE) programu Visual Studio. Zaleca się używanie pełnej składni bez prefiksów do odwołwania się do nazw symboli w tagach cref.

Jak naprawić naruszenia

Aby naprawić naruszenie tej reguły, usuń prefiks z tagu cref . Na przykład następujące dwa fragmenty kodu pokazują naruszenie reguły i sposób jego naprawy:

// 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() { }
}

Kiedy pomijać ostrzeżenia

To ostrzeżenie jest bezpieczne, jeśli odwołanie do kodu musi używać prefiksu, ponieważ przywoływalny typ nie jest możliwy do znalezienia przez kompilator. Jeśli na przykład odwołanie do kodu odwołuje się do specjalnego atrybutu w pełnej strukturze, ale plik kompiluje się na przenośnej strukturze, możesz pominąć to ostrzeżenie.

Pomijanie ostrzeżenia

Jeśli chcesz po prostu pominąć pojedyncze naruszenie, dodaj dyrektywy preprocesora do pliku źródłowego, aby wyłączyć, a następnie ponownie włączyć regułę.

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

Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none w pliku konfiguracji.

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

Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia dotyczące analizy kodu.

Zobacz też