Share via


CA1200: Undvik att använda cref-taggar med ett prefix

Property Värde
Regel-ID CA1200
Rubrik Undvik att använda cref-taggar med ett prefix
Kategori Dokumentation
Korrigeringen är icke-bakåtkompatibel Icke-icke-bryta
Aktiverad som standard i .NET 8 Nej

Orsak

Cref-taggen i en XML-dokumentationskommentare använder ett prefix.

Regelbeskrivning

Cref-attributet i en XML-dokumentationstagg betyder "kodreferens". Den anger att den inre texten i taggen är ett kodelement, till exempel en typ, metod eller egenskap. Undvik att använda cref taggar med prefix eftersom det förhindrar att kompilatorn verifierar referenser. Det förhindrar också att Visual Studio Integrated Development Environment (IDE) hittar och uppdaterar dessa symbolreferenser under refaktoriseringar. Vi rekommenderar att du använder den fullständiga syntaxen utan prefix för att referera till symbolnamn i cref-taggar.

Så här åtgärdar du överträdelser

Om du vill åtgärda ett brott mot den här regeln tar du bort prefixet från taggen cref . Följande två kodfragment visar till exempel ett brott mot regeln och hur du åtgärdar den:

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

När du ska ignorera varningar

Det är säkert att ignorera den här varningen om kodreferensen måste använda ett prefix eftersom den refererade typen inte kan hittas av kompilatorn. Om en kodreferens till exempel refererar till ett särskilt attribut i det fullständiga ramverket, men filen kompileras mot det bärbara ramverket, kan du ignorera den här varningen.

Ignorera en varning

Om du bara vill förhindra en enda överträdelse lägger du till förprocessordirektiv i källfilen för att inaktivera och aktiverar sedan regeln igen.

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

Om du vill inaktivera regeln för en fil, mapp eller ett projekt anger du dess allvarlighetsgrad till none i konfigurationsfilen.

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

Mer information finns i Så här utelämnar du kodanalysvarningar.

Se även