Ajouter un cast explicite dans la boucle foreach (IDE0220)
Propriété | Valeur |
---|---|
Identificateur de la règle | IDE0220 |
Titre | Ajouter un cast explicite |
Catégorie | Style |
sous-catégorie | Règles de langage (préférences au niveau de l’expression) |
langues applicables | C# |
Options | dotnet_style_prefer_foreach_explicit_cast_in_source |
Aperçu
Cette règle signale l’absence d’un cast explicite dans une boucle foreach
lorsque le compilateur ajouterait un cast masqué. Pour les collections génériques ou fortement typées, le fait de forcer un cast explicite lorsque le compilateur ajouterait normalement un cast masqué peut révéler l’utilisation d’un type incorrect dans l’instruction foreach
.
Options
Les options définissent le comportement que vous souhaitez que la règle impose. Pour plus d’informations sur la configuration des options, consultez le format d’option.
dotnet_style_prefer_foreach_explicit_cast_in_source
Propriété | Valeur | Description |
---|---|---|
nom de l’option | dotnet_style_prefer_foreach_explicit_cast_in_source | |
Valeurs d’option | always |
Préférez les casts explicites dans le code source. |
when_strongly_typed |
Préférez les casts explicites pour les collections fortement typées (génériques), mais pas pour les collections héritées, telle que ArrayList. | |
valeur d’option par défaut | when_strongly_typed |
Exemple
// Code with violations.
var list = new List<object>();
foreach (string item in list) { }
// Fixed code.
var list = new List<object>();
foreach (string item in list.Cast<string>())
Supprimer un avertissement
Si vous souhaitez supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver, puis réactivez la règle.
#pragma warning disable IDE0220
// The code that's violating the rule is on this line.
#pragma warning restore IDE0220
Pour désactiver la règle d’un fichier, d’un dossier ou d’un projet, définissez sa gravité sur none
dans le fichier de configuration .
[*.{cs,vb}]
dotnet_diagnostic.IDE0220.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 d’analyse du code.