Utilizar a propagação nula (IDE0031)
Propriedade | Valor |
---|---|
ID da Regra | IDE0031 |
Título | Utilizar a propagação nula |
Categoria | Estilo |
Subcategoria | Regras de linguagem (preferências ao nível da expressão) |
Idiomas aplicáveis | C# e Visual Basic |
Opções | dotnet_style_null_propagation |
Descrição Geral
Esta regra de estilo diz respeito à utilização do operador condicional nulo em comparação com uma expressão condicional ternary com verificação nula.
Opções
Defina o valor da opção associada para especificar se os operadores condicionais nulos ou as expressões condicionais ternary com verificações nulas.
Para obter mais informações sobre como configurar opções, veja Formato de opção.
dotnet_style_null_propagation
Propriedade | Valor | Descrição |
---|---|---|
Nome da opção | dotnet_style_null_propagation | |
Valores de opção | true |
Preferir utilizar o operador condicional nulo sempre que possível |
false |
Preferir utilizar a verificação ternary null sempre que possível | |
Valor de opção predefinido | true |
// dotnet_style_null_propagation = true
var v = o?.ToString();
// dotnet_style_null_propagation = false
var v = o == null ? null : o.ToString(); // or
var v = o != null ? o.ToString() : null;
' dotnet_style_null_propagation = true
Dim v = o?.ToString()
' dotnet_style_null_propagation = false
Dim v = If(o Is Nothing, Nothing, o.ToString()) ' or
Dim v = If(o IsNot Nothing, o.ToString(), Nothing)
Suprimir um aviso
Se quiser suprimir apenas uma única violação, adicione diretivas de pré-processamento ao ficheiro de origem para desativar e, em seguida, reativar a regra.
#pragma warning disable IDE0031
// The code that's violating the rule is on this line.
#pragma warning restore IDE0031
Para desativar a regra para um ficheiro, pasta ou projeto, defina a sua gravidade como none
no ficheiro de configuração.
[*.{cs,vb}]
dotnet_diagnostic.IDE0031.severity = none
Para desativar todas as regras de estilo de código, defina a gravidade da categoria Style
como none
no ficheiro de configuração.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Para obter mais informações, veja Como suprimir avisos de análise de código.