Idioma

Cadena de formato no válida (IDE0043)

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.

Consulte también