Agregar conversión explícita en el bucle foreach (IDE0220)
Propiedad | Value |
---|---|
Identificador de la regla | IDE0220 |
Título | Agregar conversión explícita |
Categoría | Estilo |
Subcategoría | Reglas del lenguaje (preferencias de nivel de expresión) |
Lenguajes aplicables | C# |
Opciones | dotnet_style_prefer_foreach_explicit_cast_in_source |
Información general
Esta regla marca la ausencia de una conversión explícita en un bucle foreach
cuando el compilador agregaría 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 se quiere que aplique la regla. Para más información sobre cómo configurar opciones, consulte Formato de opción.
dotnet_style_prefer_foreach_explicit_cast_in_source
Propiedad | Value | Descripción |
---|---|---|
Nombre de la 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>())
Supresión de una advertencia
Si solo quiere suprimir una única 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
del archivo de configuración.
[*.{cs,vb}]
dotnet_diagnostic.IDE0220.severity = none
Para deshabilitar todas las reglas de estilo del código, establezca la gravedad de la categoría Style
en none
del archivo de configuración.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Para obtener más información, consulte Procedimiento para suprimir advertencias de análisis de código.