Partilhar via


Simplifique o padrão de propriedade (IDE0170)

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

Visão geral

Esta regra de estilo sinaliza o uso de um padrão aninhado em um padrão de propriedade . Um padrão aninhado pode ser simplificado através do uso de um padrão de propriedade estendido, onde se utilizam subpadrões de propriedade para referenciar membros aninhados. Padrões de propriedade estendidos melhoram a legibilidade do código.

Opções

As opções especificam o comportamento que você deseja que a regra imponha . Para obter informações sobre como configurar opções, consulte Formato de opção.

csharp_style_prefer_extended_property_pattern

Propriedade Valor Descrição
Nome da opção padrão_de_propriedade_estendida_no_estilo_csharp
Valores de opção true Prefira o padrão de propriedade estendida.
false Desativa a regra.
Valor da opção padrão 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 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 IDE0170
// The code that's violating the rule is on this line.
#pragma warning restore IDE0170

Para desabilitar a regra para um arquivo, pasta ou projeto, defina sua gravidade como none no arquivo de configuração .

[*.{cs,vb}]
dotnet_diagnostic.IDE0170.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.

Ver também