Delen via


CA1708: Id's moeten meer verschillen dan hoofdletters

Eigenschappen Weergegeven als
Regel-id CA1708
Titel Id's moeten meer dan hoofdletters verschillen
Categorie Naamgeving
Oplossing is brekend of niet-brekend Breken
Standaard ingeschakeld in .NET 8 Nee

Oorzaak

De namen van twee typen, leden, parameters of volledig gekwalificeerde naamruimten zijn identiek wanneer ze worden geconverteerd naar kleine letters.

Deze regel kijkt standaard alleen naar extern zichtbare typen, leden en naamruimten, maar dit is configureerbaar.

Beschrijving van regel

Id's voor naamruimten, typen, leden en parameters kunnen niet alleen per geval verschillen, omdat talen die gericht zijn op de algemene taalruntime, niet hoofdlettergevoelig hoeven te zijn. Visual Basic is bijvoorbeeld een veelgebruikte hoofdlettergevoelige taal.

Schendingen oplossen

Selecteer een naam die uniek is wanneer deze wordt vergeleken met andere id's op een niet-hoofdlettergevoelige manier.

Wanneer waarschuwingen onderdrukken

Een waarschuwing van deze regel niet onderdrukken. De bibliotheek is mogelijk niet bruikbaar in alle beschikbare talen in .NET.

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

Voorbeeld van een schending

In het volgende voorbeeld ziet u een schending van deze regel.

public class Class1
{
    protected string someName;
    public string SomeName => someName;
}

In het volgende voorbeeld ziet u een manier om de schending op te lossen

public class Class1
{
    protected string _someName;
    public string SomeName => _someName;
}