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 9 | 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;
}