Ajouter un cast explicite dans la boucle foreach (IDE0220)
Propriété | Value |
---|---|
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) |
Langages applicables | C# |
Options | dotnet_style_prefer_foreach_explicit_cast_in_source |
Vue d’ensemble
Cette règle signale l’absence d’un cast explicite dans une foreach
boucle lorsque le compilateur ajoute un cast masqué. Pour les collections génériques ou fortement typées, le fait de forcer un cast explicite lorsque le compilateur ajouterait un cast masqué peut révéler l’utilisation d’un type incorrect dans l’instruction foreach
.
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.
dotnet_style_prefer_foreach_explicit_cast_in_source
Propriété | Valeur | Description |
---|---|---|
Nom d'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, telles 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 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 IDE0220
// The code that's violating the rule is on this line.
#pragma warning restore IDE0220
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.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 de l’analyse de code.