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.