Patroonkoppeling gebruiken (IDE0078 en IDE0260)
In dit artikel worden twee gerelateerde regels beschreven, IDE0078
en IDE0260
.
Eigenschap | Waarde |
---|---|
Regel ID | IDE0078 |
titel | Patroonherkenning gebruiken |
categorie | Stijl |
subcategorie | Taalregels (patroonkoppelingsvoorkeuren) |
Toepasselijke talen | C# 9.0+ |
opties | csharp_style_prefer_pattern_matching |
Eigendom | Waarde |
---|---|
Regel-ID | IDE0260 |
titel | Patroonherkenning gebruiken |
categorie | Stijl |
subcategorie | Taalregels (patroonkoppelingsvoorkeuren) |
Toepasselijke talen | C# |
opties | csharp_style_pattern_matching_over_as_with_null_check |
Overzicht
Deze stijlregel betreft het gebruik van C# patroon dat overeenkomt met constructies.
IDE0260 markeert specifiek het gebruik van een as
-expressie, gevolgd door een lid dat de null-conditional operatorleest. Deze regel is vergelijkbaar met IDE0019, die het gebruik van een as
expressie markeert, gevolgd door een null
controle.
Opties
Met opties geeft u het gedrag op dat door de regel moet worden afgedwongen. Zie Option-indelingvoor meer informatie over het configureren van opties.
csharp_style_prefer_pattern_matching (IDE0078)
Eigendom | Waarde | Beschrijving |
---|---|---|
optienaam | csharp_style_prefer_pattern_matching | |
optiewaarden | true |
Gebruik waar mogelijk patroonkoppelingsconstructies |
false |
Gebruik liever geen patroonkoppelingsconstructies. | |
standaardoptiewaarde | true |
csharp_style_pattern_matching_over_as_with_null_check (IDE0260)
Met deze optie configureert u ook regel IDE0019.
Eigenschap | Waarde | Beschrijving |
---|---|---|
Optienaam | csharp_stijl_patroonherkenning_boven_as_met_null_controle | |
optiewaarden | true |
Geef de voorkeur aan patroonmatching boven as -expressie met null-voorwaardelijke ledentoegang. |
false |
Hiermee schakelt u de regel uit. | |
standaardoptiewaarde | true |
Voorbeelden
IDE0078
// csharp_style_prefer_pattern_matching = true
var x = i is default(int) or > (default(int));
var y = o is not C c;
// csharp_style_prefer_pattern_matching = false
var x = i == default || i > default(int);
var y = !(o is C c);
IDE0260
// Code with violations.
object? o = null;
if ((o as string)?.Length == 0)
{
}
// Fixed code (csharp_style_pattern_matching_over_as_with_null_check = true).
object? o = null;
if (o is string { Length: 0 })
{
}
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 IDE0078 // or IDE0260
// The code that's violating the rule is on this line.
#pragma warning restore IDE0078 // or IDE0260
Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst ervan in op none
in het configuratiebestand.
[*.{cs,vb}]
dotnet_diagnostic.IDE0078.severity = none
dotnet_diagnostic.IDE0260.severity = none
Als u alle regels voor de codestijl wilt uitschakelen, stelt u de ernst voor de categorie Style
in op none
in het configuratiebestand.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Voor meer informatie, zie Hoe codeanalyse waarschuwingen onderdrukken.