Share via


CA1707: Id's mogen geen onderstrepingstekens bevatten

Eigenschappen Weergegeven als
Regel-id CA1707
Titel Id's mogen geen onderstrepingstekens bevatten
Categorie Naamgeving
Oplossing is brekend of niet-brekend Fouten veroorzaken - wanneer deze wordt gegenereerd op assembly's

Niet-brekend - wanneer gegenereerd op typeparameters
Standaard ingeschakeld in .NET 8 Nee

Oorzaak

De naam van een id bevat het onderstrepingsteken (_).

Beschrijving van regel

Id-namen bevatten standaard niet het onderstrepingsteken (_). De regel controleert naamruimten, typen, leden en parameters.

Naamconventies bieden een gemeenschappelijk uiterlijk voor bibliotheken die gericht zijn op de algemene taalruntime. Dit vermindert de leercurve die vereist is voor nieuwe softwarebibliotheken en verhoogt het vertrouwen van klanten dat de bibliotheek is ontwikkeld door iemand die expertise heeft in het ontwikkelen van beheerde code.

Schendingen oplossen

Verwijder alle onderstrepingstekens uit de naam.

Wanneer waarschuwingen onderdrukken

Onderdrukt geen waarschuwingen voor productiecode. Het is echter veilig om deze waarschuwing voor testcode te onderdrukken.

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 CA1707
// The code that's violating the rule is on this line.
#pragma warning restore CA1707

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.CA1707.severity = none

Zie Codeanalysewaarschuwingen onderdrukken voor meer informatie.

Voor bekende methoden in Microsoft-code die momenteel een onderstrepingsteken gebruiken en die niet kunnen worden gewijzigd, moet de regel worden onderdrukt.

Code configureren om te analyseren

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

U kunt deze optie 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