Share via


Använd mönstermatchning för att undvika "som" följt av en "null"-kontroll (IDE0019)

Egenskap Värde
Regel-ID IDE0019
Rubrik Använd mönstermatchning för att undvika as följt av en null kontroll
Kategori Format
Underkategori Språkregler (inställningar för mönstermatchning)
Tillämpliga språk C#
Alternativ csharp_style_pattern_matching_over_as_with_null_check

Översikt

Den här stilregeln gäller användningen av C#- mönster som matchar över ett as uttryck följt av en null kontroll. Den här regeln liknar IDE0260, som flaggar användningen av ett as uttryck följt av en medlem som läses via null-villkorsoperatorn.

Alternativ

Det associerade alternativet för den här regeln anger om mönstermatchning ska föredras eller ett as uttryck med null-kontroller för att avgöra om något är av en viss typ.

Mer information om hur du konfigurerar alternativ finns i Alternativformat.

csharp_style_pattern_matching_over_as_with_null_check

Det här alternativet konfigurerar även regel-IDE0260.

Egenskap Värde Beskrivning
Alternativnamn csharp_style_pattern_matching_over_as_with_null_check
Alternativvärden true Föredrar mönstermatchning för att avgöra om något är av en viss typ
false Föredrar as uttryck med null-kontroller för att avgöra om något är av en viss typ
Standardalternativvärde true
// csharp_style_pattern_matching_over_as_with_null_check = true
if (o is string s) {...}

// csharp_style_pattern_matching_over_as_with_null_check = false
var s = o as string;
if (s != null) {...}

Ignorera en varning

Om du bara vill förhindra en enda överträdelse lägger du till preprocessor-direktiv i källfilen för att inaktivera och återaktiverar sedan regeln.

#pragma warning disable IDE0019
// The code that's violating the rule is on this line.
#pragma warning restore IDE0019

Om du vill inaktivera regeln för en fil, mapp eller ett projekt anger du dess allvarlighetsgrad till none i konfigurationsfilen.

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

Om du vill inaktivera alla regler i kodformat anger du allvarlighetsgraden för kategorin Style till none i konfigurationsfilen.

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

Mer information finns i Så här utelämnar du kodanalysvarningar.

Se även