Usar propagação nula (IDE0031)
Propriedade | Valor |
---|---|
ID da regra | IDE0031 |
Título | Usar propagação nula |
Categoria | Estilo |
Subcategoria | Regras de linguagem (preferências no nível de expressão) |
Linguagens aplicáveis | C# e Visual Basic |
Opções | dotnet_style_null_propagation |
Visão geral
Essa regra de estilo diz respeito ao uso do operador nulo condicional versus uma expressão condicional ternária com verificação nula.
Opções
Configure o valor da opção associada para especificar se são operadores condicionais nulos ou expressões condicionais ternárias com verificações nulas.
Para obter mais informações sobre como configurar as opções, consulte Formato da opção.
dotnet_style_null_propagation
Propriedade | Valor | Descrição |
---|---|---|
Nome da opção | dotnet_style_null_propagation | |
Valores da opção | true |
Preferir usar o operador condicional nulo quando possível |
false |
Preferir usar a verificação nula ternária quando possível | |
Valor da opção padrão | 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 você quiser suprimir apenas uma violação, adicione diretivas de pré-processador ao arquivo de origem para desabilitar e, em seguida, reabilite a regra.
#pragma warning disable IDE0031
// The code that's violating the rule is on this line.
#pragma warning restore IDE0031
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.IDE0031.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, confira Como suprimir avisos de análise de código.