Delen via


CA1716: Id's mogen niet overeenkomen met trefwoorden

Eigenschappen Weergegeven als
Regel-id CA1716
Titel Id's mogen niet overeenkomen met trefwoorden
Categorie Naamgeving
Oplossing is brekend of niet-brekend Breken
Standaard ingeschakeld in .NET 8 Nee

Oorzaak

De naam van een naamruimte, type of lid van een virtuele of interface komt overeen met een gereserveerd trefwoord in een programmeertaal.

Deze regel kijkt standaard alleen naar extern zichtbare naamruimten, typen en leden, maar u kunt zichtbaarheid en symbooltypen configureren.

Beschrijving van regel

Id's voor naamruimten, typen en leden van virtuele en interface moeten niet overeenkomen met trefwoorden die zijn gedefinieerd door talen die gericht zijn op de algemene taalruntime. Afhankelijk van de taal die wordt gebruikt en het trefwoord, kunnen compilerfouten en dubbelzinnigheden de bibliotheek moeilijk te gebruiken maken.

Met deze regel wordt gecontroleerd op trefwoorden in de volgende talen:

  • Visual Basic
  • C#
  • C++/CLI

Hoofdlettergevoelige vergelijking wordt gebruikt voor Visual Basic-trefwoorden en hoofdlettergevoelige vergelijking wordt gebruikt voor de andere talen.

Schendingen oplossen

Selecteer een naam die niet wordt weergegeven in de lijst met trefwoorden.

Wanneer waarschuwingen onderdrukken

U kunt een waarschuwing van deze regel onderdrukken als u zeker weet dat de id de gebruikers van de API niet zal verwarren en dat de bibliotheek bruikbaar is in alle beschikbare talen in .NET.

Een waarschuwing onderdrukken

Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de regel uit te schakelen en vervolgens opnieuw in te schakelen.

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

Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst none ervan in op het configuratiebestand.

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

Zie Codeanalysewaarschuwingen onderdrukken voor meer informatie.

Code configureren om te analyseren

Gebruik de volgende opties om te configureren op welke onderdelen van uw codebase deze regel moet worden uitgevoerd.

U kunt deze opties configureren voor alleen deze regel, voor alle regels waarop deze van toepassing is, of voor alle regels in deze categorie (naamgeving) waarop deze van toepassing is. Zie de configuratieopties voor de codekwaliteitsregel voor meer informatie.

Specifieke API-oppervlakken opnemen

U kunt instellen op welke onderdelen van uw codebase deze regel moet worden uitgevoerd, op basis van hun toegankelijkheid. Als u bijvoorbeeld wilt opgeven dat de regel alleen moet worden uitgevoerd op het niet-openbare API-oppervlak, voegt u het volgende sleutel-waardepaar toe aan een .editorconfig-bestand in uw project:

dotnet_code_quality.CAXXXX.api_surface = private, internal

Geanalyseerde symbooltypen

U kunt het type symbolen configureren dat door deze regel wordt geanalyseerd. De toegestane waarden zijn:

  • Namespace
  • NamedType
  • Method
  • Property
  • Event
  • Parameter

Scheid meerdere waarden met een komma (,). De standaardwaarde bevat alle symbooltypen in de vorige lijst.

dotnet_code_quality.CA1716.analyzed_symbol_kinds = Namespace, NamedType, Method, Property, Event