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 linguagem (preferências de padrões correspondentes) |
Linguagens 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. Os padrões de propriedade estendidos melhoram a legibilidade do código.
Opções
As opções especificam o comportamento que você quer que a regra imponha. Para obter informações sobre como configurar as opções, consulte Formato da opção.
csharp_style_prefer_extended_property_pattern
Propriedade | Valor | Descrição |
---|---|---|
Nome da opção | csharp_style_prefer_extended_property_pattern | |
Valores da opção | true |
Prefira o padrão de propriedade estendida. |
false |
Desabilita 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 violação, adicione diretivas de pré-processador ao arquivo de origem para desabilitar e, em seguida, reabilite 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 em um arquivo, uma pasta ou um projeto, defina a 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
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.