Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
| Propriedade | Valor |
|---|---|
| ID da regra | IDE0220 |
| Título | Adicionar conversão explícita |
| Categoria | Estilo |
| Subcategoria | Regras de idioma (preferências no nível da expressão) |
| idiomas aplicáveis | C# |
| Opções | dotnet_style_prefer_foreach_explicit_cast_in_source |
Visão geral
Essa regra sinaliza a ausência de uma conversão explícita em um loop foreach quando o compilador adicionaria uma conversão oculta. Para coleções genéricas ou fortemente tipadas, forçar uma conversão explícita quando o compilador adicionaria uma conversão oculta pode revelar o uso de um tipo incorreto na instrução foreach.
Opções
As opções especificam o comportamento que você deseja que a regra imponha. Para obter informações sobre como configurar opções, consulte Formato de opção.
dotnet_style_prefer_foreach_explicit_cast_in_source
| Propriedade | Valor | Descrição |
|---|---|---|
| Nome da Opção | dotnet_style_prefer_foreach_explicit_cast_in_source | |
| Valores das opções | always |
Prefira conversões explícitas no código-fonte. |
when_strongly_typed |
Prefira conversões explícitas para coleções fortemente tipadas (genéricas), mas não para coleções herdadas, como ArrayList. | |
| valor de opção padrão | when_strongly_typed |
Exemplo
// 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>())
Suprimir um aviso
Se você quiser suprimir apenas uma única violação, adicione diretivas de pré-processamento ao arquivo de origem para desabilitar e depois reabilitar a regra.
#pragma warning disable IDE0220
// The code that's violating the rule is on this line.
#pragma warning restore IDE0220
Para desabilitar a regra de um arquivo, pasta ou projeto, defina sua severidade como none no arquivo de configuração .
[*.{cs,vb}]
dotnet_diagnostic.IDE0220.severity = none
Para desabilitar todas as regras de estilo de código, defina a severidade da categoria Style para none no arquivo de configuração .
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Para obter mais informações, consulte Como suprimir avisos de análise de código.