Share via


Adicionar cast explícito no ciclo foreach (IDE0220)

Propriedade Valor
ID da Regra IDE0220
Título Adicionar cast explícito
Categoria Estilo
Subcategoria Regras de linguagem (preferências ao nível da expressão)
Idiomas aplicáveis C#
Opções dotnet_style_prefer_foreach_explicit_cast_in_source

Descrição Geral

Esta regra sinaliza a ausência de uma conversão explícita num foreach ciclo quando o compilador adicionaria uma conversão oculta. Para coleções genéricas ou fortemente digitadas, forçar uma conversão explícita quando o compilador adicionar uma conversão oculta pode descobrir a utilização de um tipo incorreto na foreach instrução .

Opções

As opções especificam o comportamento que pretende que a regra aplique. Para obter informações sobre como configurar opções, veja 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 de opção always Preferir moldes explícitos no código fonte.
when_strongly_typed Prefere casts explícitos para coleções com tipos fortes (genéricos), mas não para coleções legadas, como ArrayList.
Valor de opção predefinido 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 quiser suprimir apenas uma única violação, adicione diretivas de pré-processamento ao ficheiro de origem para desativar e, em seguida, reativar a regra.

#pragma warning disable IDE0220
// The code that's violating the rule is on this line.
#pragma warning restore IDE0220

Para desativar a regra para um ficheiro, pasta ou projeto, defina a sua gravidade como none no ficheiro de configuração.

[*.{cs,vb}]
dotnet_diagnostic.IDE0220.severity = none

Para desativar todas as regras de estilo de código, defina a gravidade da categoria Style como none no ficheiro de configuração.

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

Para obter mais informações, veja Como suprimir avisos de análise de código.

Ver também