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 | Value |
|---|---|
| Identificador de la regla | IDE0043 |
| Título | Cadena de formato no válida |
| Category | Style |
| Subcategoría | Reglas de lenguaje (operaciones de cadena) |
| Idiomas aplicables | C# y Visual Basic |
| Options | Ninguno |
Visión general
Esta regla marca las llamadas a métodos de formato compuesto, como String.Format, donde un índice de marcador de posición en la cadena de formato hace referencia a un argumento que no existe. Por ejemplo, si la cadena de formato contiene {1} pero solo se proporciona un argumento (accesible como {0}), la regla marca el {1} marcador de posición.
Nota:
Esta regla es similar a la regla de calidad de código CA2241, que también valida los argumentos de cadena de formato.
Example
// Code with violations.
// '{1}' is out of range — only one argument is provided.
string s = string.Format("Hello, {0}! You have {1} messages.", "Alice");
// Fixed code.
string s = string.Format("Hello, {0}! You have {1} messages.", "Alice", 5);
' Code with violations.
' '{1}' is out of range — only one argument is provided.
Dim s As String = String.Format("Hello, {0}! You have {1} messages.", "Alice")
' Fixed code.
Dim s As String = String.Format("Hello, {0}! You have {1} messages.", "Alice", 5)
Supresión de 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 IDE0043
// The code that's violating the rule is on this line.
#pragma warning restore IDE0043
Para deshabilitar la regla de un archivo, una carpeta o un proyecto, establezca su gravedad a none en el archivo de configuración.
[*.{cs,vb}]
dotnet_diagnostic.IDE0043.severity = none
Para deshabilitar todas las reglas de estilo de código, establezca la gravedad de la categoría Style a none en el archivo de configuración.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Para obtener más información, consulte Cómo suprimir advertencias de análisis de código.