Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
| Property | Valor |
|---|---|
| ID da regra | IDE0043 |
| Título | Cadeia de caracteres de formato inválida |
| Categoria | Style |
| Subcategoria | Regras de idioma (operações de cadeia de caracteres) |
| Idiomas aplicáveis | C# e Visual Basic |
| Opções | None |
Visão geral
Esta regra sinaliza chamadas para métodos de formatação compostos, como String.Format, onde um índice de espaço reservado na string de formatação se refere a um argumento que não existe. Por exemplo, se a string de formatação contiver {1}, mas apenas um argumento for fornecido (acessível como {0}), a regra sinalizará o espaço reservado {1}.
Note
Essa regra é semelhante à regra de qualidade de código CA2241, que também valida argumentos de cadeia de caracteres 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)
Suprimir um aviso
Se você quiser suprimir apenas uma única violação, adicione diretivas de pré-processador ao seu arquivo de origem para desabilitar a regra e, em seguida, habilitá-la novamente.
#pragma warning disable IDE0043
// The code that's violating the rule is on this line.
#pragma warning restore IDE0043
Para desabilitar a regra em um arquivo, uma pasta ou um projeto, defina a severidade como none no arquivo de configuração.
[*.{cs,vb}]
dotnet_diagnostic.IDE0043.severity = none
Para desabilitar todas as regras de estilo de código, defina a severidade da categoria Style como none no arquivo de configuração.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Para obter mais informações, consulte Como suprimir avisos de análise de código.