Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
| 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.