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.
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Prochainement : Tout au long de l'année 2024, nous supprimerons progressivement les GitHub Issues en tant que mécanisme de retour d'information pour le contenu et nous les remplacerons par un nouveau système de retour d'information. Pour plus d’informations, voir:Soumettre et afficher des commentaires pour