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.