Agregar conversión explícita en el bucle foreach (IDE0220)
Propiedad | Valor |
---|---|
Identificador de la regla | IDE0220 |
Título | Agregar conversión explícita |
Categoría | Estilo |
Subcategoría | Reglas de lenguaje (preferencias de nivel de expresión) |
idiomas aplicables | C# |
Opciones | dotnet_style_prefer_foreach_explicit_cast_in_source |
Visión general
Esta regla indica la ausencia de una conversión explícita en un bucle foreach
cuando el compilador podría añadir una conversión oculta. Para colecciones genéricas o con tipo fuertemente marcado, forzando una conversión explícita cuando el compilador agregaría una conversión oculta se puede descubrir el uso de un tipo incorrecto en la instrucción foreach
.
Opciones
Las opciones especifican el comportamiento que desea que aplique la regla. Para obtener información sobre cómo configurar opciones, vea Formato de opción.
dotnet_style_prefer_foreach_explicit_cast_in_source
Propiedad | Valor | Descripción |
---|---|---|
nombre de opción | dotnet_style_prefer_foreach_explicit_cast_in_source | |
Valores de opción | always |
Preferir conversiones explícitas en el código fuente. |
when_strongly_typed |
Se prefieren conversiones explícitas para colecciones con tipo fuertemente marcado (genéricas), pero no para colecciones heredadas, como ArrayList. | |
valor de opción predeterminado | when_strongly_typed |
Ejemplo
// 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 una advertencia
Si desea suprimir solo una infracción, agregue directivas de preprocesador al archivo de origen para deshabilitar y volver a habilitar la regla.
#pragma warning disable IDE0220
// The code that's violating the rule is on this line.
#pragma warning restore IDE0220
Para deshabilitar la regla de un archivo, una carpeta o un proyecto, establezca su gravedad en none
en el archivo de configuración de .
[*.{cs,vb}]
dotnet_diagnostic.IDE0220.severity = none
Para deshabilitar todas las reglas de estilo de código, establezca la gravedad de la categoría Style
en none
en el archivo de configuración .
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Para obtener más información, vea Cómo suprimir advertencias de análisis de código.