Share via


Simplificar o padrão de propriedade (IDE0170)

Propriedade Valor
ID da Regra IDE0170
Título Simplificar padrão de propriedade
Categoria Estilo
Subcategoria Regras de linguagem (preferências de correspondência de padrões)
Idiomas aplicáveis C#
Opções csharp_style_prefer_extended_property_pattern

Descrição Geral

Esta regra de estilo sinaliza a utilização de um padrão aninhado num padrão de propriedade. Um padrão aninhado pode ser simplificado para utilizar um padrão de propriedade expandida no qual os subpadrões de propriedade são utilizados para referenciar membros aninhados. Os padrões de propriedade expandida melhoram a legibilidade do código.

Opções

As opções especificam o comportamento que pretende que a regra aplique. Para obter informações sobre como configurar opções, veja Formato de opção.

csharp_style_prefer_extended_property_pattern

Propriedade Valor Descrição
Nome da opção csharp_style_prefer_extended_property_pattern
Valores de opção true Prefira o padrão de propriedade expandida.
false Desativa a regra.
Valor de opção predefinido true

Exemplo

public record Point(int X, int Y);
public record Segment(Point Start, Point End);

// Violates IDE0170.
static bool IsEndOnXAxis(Segment segment) =>
    segment is { Start: { Y: 0 } } or { End: { Y: 0 } };

// Fixed code.
static bool IsEndOnXAxis(Segment segment) =>
    segment is { Start.Y: 0 } or { End.Y: 0 };

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 IDE0170
// The code that's violating the rule is on this line.
#pragma warning restore IDE0170

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.IDE0170.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.

Ver também