Utiliser la correspondance de modèles (IDE0078 et IDE0260)
Cet article décrit deux règles associées, IDE0078
et IDE0260
.
Propriété | Value |
---|---|
Identificateur de la règle | IDE0078 |
Titre | Utiliser les critères spéciaux |
Catégorie | Style |
Sous-catégorie | Règles de langage (préférences relatives aux critères spéciaux) |
Langages applicables | C# 9.0+ |
Options | csharp_style_prefer_pattern_matching |
Propriété | Value |
---|---|
Identificateur de la règle | IDE0260 |
Titre | Utiliser les critères spéciaux |
Catégorie | Style |
Sous-catégorie | Règles de langage (préférences relatives aux critères spéciaux) |
Langages applicables | C# |
Options | csharp_style_pattern_matching_over_as_with_null_check |
Vue d’ensemble
Cette règle de style concerne l’utilisation de constructions de correspondance de modèles C#.
IDE0260 signale spécifiquement l’utilisation d’une expression as
suivie d’un membre lu dans l’opérateur conditionnel null. Cette règle est semblable à IDE0019, qui signale l’utilisation d’une expression as
suivie d’une vérification null
.
Options
Les options spécifient le comportement que vous souhaitez que la règle applique. Pour plus d’informations sur la configuration des options, consultez Format d’option.
csharp_style_prefer_pattern_matching (IDE0078)
Propriété | Valeur | Description |
---|---|---|
Nom d'option | csharp_style_prefer_pattern_matching | |
Valeurs d’option | true |
Préférer l’utilisation de constructions de critères spéciaux, si possible |
false |
Préférer ne pas utiliser de constructions de critères spéciaux. | |
Valeur d’option par défaut | true |
csharp_style_pattern_matching_over_as_with_null_check (IDE0260)
Cette option configure également la règle IDE0019.
Propriété | Valeur | Description |
---|---|---|
Nom d'option | csharp_style_pattern_matching_over_as_with_null_check | |
Valeurs d’option | true |
Préférez la correspondance de modèles à l’expression as avec un accès membre conditionnel null. |
false |
Il désactive la règle. | |
Valeur d’option par défaut | true |
Exemples
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 })
{
}
Supprimer un avertissement
Si vous voulez supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver et réactiver la règle.
#pragma warning disable IDE0078 // or IDE0260
// The code that's violating the rule is on this line.
#pragma warning restore IDE0078 // or IDE0260
Pour désactiver la règle sur un fichier, un dossier ou un projet, définissez sa gravité sur none
dans le fichier de configuration.
[*.{cs,vb}]
dotnet_diagnostic.IDE0078.severity = none
dotnet_diagnostic.IDE0260.severity = none
Pour désactiver toutes les règles de style de code, définissez la gravité de la catégorie Style
sur none
dans le fichier de configuration.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Pour plus d’informations, consultez Comment supprimer les avertissements de l’analyse de code.