CA1200: Undvik att använda cref-taggar med ett prefix
Property | Värde |
---|---|
Regel-ID | CA1200 |
Title | Undvik att använda cref-taggar med ett prefix |
Kategori | Dokumentation |
Korrigeringen är icke-bakåtkompatibel | Icke-icke-bryta |
Aktiverad som standard i .NET 9 | 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.