Share via


Patroonkoppeling gebruiken (IDE0078 en IDE0260)

In dit artikel worden twee gerelateerde regels beschreven, IDE0078 en IDE0260.

Eigenschappen Weergegeven als
Regel-id IDE0078
Titel Patroonkoppeling gebruiken
Categorie Stijl
Subcategorie Taalregels (patroonkoppelingsvoorkeuren)
Toepasselijke talen C# 9.0+
Opties csharp_style_prefer_pattern_matching
Eigenschappen Weergegeven als
Regel-id IDE0260
Titel Patroonkoppeling 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# -patroonkoppelingsconstructies .

IDE0260 markeert specifiek het gebruik van een as expressie, gevolgd door een lid dat de null-voorwaardelijke operator leest. Deze regel is vergelijkbaar met IDE0019, waarmee het gebruik van een as expressie wordt gevlagd, gevolgd door een null controle.

Opties

Met opties geeft u het gedrag op dat door de regel moet worden afgedwongen. Zie Optieindeling voor meer informatie over het configureren van opties.

csharp_style_prefer_pattern_matching (IDE0078)

Eigenschappen 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.

Eigenschappen Waarde Beschrijving
Optienaam csharp_style_pattern_matching_over_as_with_null_check
Optiewaarden true Geef de voorkeur aan patroonkoppeling via as expressie met toegang tot null-voorwaardelijk lid.
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 none ervan in op het configuratiebestand.

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

Als u alle regels voor codestijl wilt uitschakelen, stelt u de ernst voor de categorie Stylenone in op in het configuratiebestand.

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

Zie Codeanalysewaarschuwingen onderdrukken voor meer informatie.

Zie ook