CA1716: Identifierare ska inte matcha nyckelord
Property | Värde |
---|---|
Regel-ID | CA1716 |
Title | Identifierare ska inte matcha nyckelord |
Kategori | Namngivning |
Korrigeringen är icke-bakåtkompatibel | Brott |
Aktiverad som standard i .NET 9 | Nej |
Orsak
Namnet på en namnrymd, typ eller virtuell medlem eller gränssnittsmedlem matchar ett reserverat nyckelord i ett programmeringsspråk.
Som standard tittar den här regeln bara på externt synliga namnområden, typer och medlemmar, men du kan konfigurera synlighets- och symboltyper.
Regelbeskrivning
Identifierare för namnområden, typer och virtuella medlemmar och gränssnittsmedlemmar bör inte matcha nyckelord som definieras av språk som är avsedda för den gemensamma språkkörningen. Beroende på vilket språk som används och nyckelordet kan kompilatorfel och tvetydigheter göra biblioteket svårt att använda.
Den här regeln kontrollerar nyckelord på följande språk:
- Visual Basic
- C#
- C++/CLI
Skiftlägeskänslig jämförelse används för Visual Basic-nyckelord och skiftlägeskänslig jämförelse används för de andra språken.
Så här åtgärdar du överträdelser
Välj ett namn som inte visas i listan med nyckelord.
När du ska ignorera varningar
Du kan ignorera en varning från den här regeln om du är säker på att identifieraren inte förvirrar användare av API:et och att biblioteket kan användas på alla tillgängliga språk i .NET.
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 CA1716
// The code that's violating the rule is on this line.
#pragma warning restore CA1716
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.CA1716.severity = none
Mer information finns i Så här utelämnar du kodanalysvarningar.
Konfigurera kod för analys
Använd följande alternativ för att konfigurera vilka delar av kodbasen som regeln ska köras på.
Du kan konfigurera dessa alternativ för just den här regeln, för alla regler som den gäller för eller för alla regler i den här kategorin (namngivning) som den gäller för. Mer information finns i Konfigurationsalternativ för kodkvalitetsregel.
Inkludera specifika API-ytor
Du kan konfigurera vilka delar av kodbasen som ska köras med den här regeln baserat på deras tillgänglighet. Om du till exempel vill ange att regeln endast ska köras mot den icke-offentliga API-ytan lägger du till följande nyckel/värde-par i en .editorconfig-fil i projektet:
dotnet_code_quality.CAXXXX.api_surface = private, internal
Analyserade symboltyper
Du kan konfigurera de typer av symboler som ska analyseras av den här regeln. De tillåtna värdena är:
Namespace
NamedType
Method
Property
Event
Parameter
Avgränsa flera värden med kommatecken (,
). Standardvärdet innehåller alla symboltyper i föregående lista.
dotnet_code_quality.CA1716.analyzed_symbol_kinds = Namespace, NamedType, Method, Property, Event