Compartilhar via


Simplificar o padrão de propriedade (IDE0170)

Propriedade Valor
ID da regra IDE0170
Título Simplificar 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

Essa regra de estilo sinaliza o uso de um padrão aninhado em um padrão de propriedade. Um padrão aninhado pode ser simplificado para usar um padrão de propriedade estendido no qual subpadrões de propriedade são usados 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 csharp_style_prefer_extended_property_pattern
Valores das opções true Prefira o padrão de propriedade estendida.
false Desabilita a regra.
valor de 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 ao seu arquivo de origem para desabilitar temporariamente a regra e depois habilitá-la novamente.

#pragma warning disable IDE0170
// The code that's violating the rule is on this line.
#pragma warning restore IDE0170

Para desabilitar a regra de um arquivo, pasta ou projeto, defina sua severidade 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 para 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.

Consulte também