Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
| Property | Valor |
|---|---|
| ID da regra | IDE0043 |
| Title | Cadeia de formato inválida |
| Category | Style |
| Subcategoria | Regras do idioma (operações de cadeia de caracteres) |
| Línguas aplicáveis | C# e Visual Basic |
| Options | None |
Descrição geral
Esta regra sinaliza chamadas para métodos de formatação composta, como String.Format, onde um índice provisório na string de formato se refere a um argumento que não existe. Por exemplo, se a cadeia de formato contiver {1} mas apenas um argumento for fornecido (acessível como {0}), a regra sinaliza o marcador de posição {1}.
Note
Esta regra é semelhante à regra de qualidade do código CA2241, que também valida os argumentos da cadeia 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 arquivo de origem para desativar e, em seguida, reativar a regra.
#pragma warning disable IDE0043
// The code that's violating the rule is on this line.
#pragma warning restore IDE0043
Para desabilitar a regra de um arquivo, pasta ou projeto, defina sua gravidade 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.