Condividi tramite


Semplificare il modello di proprietà (IDE0170)

Proprietà Valore
Regola ID IDE0170
titolo Semplificare il modello di proprietà
categoria Stile
sottocategoria Regole della lingua (preferenze di corrispondenza dei modelli)
lingue applicabili C#
Opzioni csharp_style_prefer_extended_property_pattern

Panoramica

Questa regola di stile contrassegna l'uso di un modello annidato in un modello di proprietà . Un modello annidato può essere semplificato per usare un modello di proprietà estesa in cui i sottopattern di proprietà vengono usati per fare riferimento a membri annidati. I modelli di proprietà estesi migliorano la leggibilità del codice.

Opzioni

Le opzioni specificano il comportamento che si desidera far rispettare alla regola. Per informazioni sulla configurazione delle opzioni, vedere Formato opzione.

csharp_style_prefer_extended_property_pattern

Proprietà Valore Descrizione
nome opzione csharp_style_prefer_extended_property_pattern
valori di opzione true Preferire il modello di proprietà esteso.
false Disabilita la regola.
valore di opzione predefinito true

Esempio

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 };

Eliminare un avviso

Se si desidera eliminare solo una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare la regola.

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

Per disabilitare la regola per un file, una cartella o un progetto, impostarne la gravità su none nel file di configurazione .

[*.{cs,vb}]
dotnet_diagnostic.IDE0170.severity = none

Per disabilitare tutte le regole di tipo codice, impostare la gravità per la categoria Style su none nel file di configurazione .

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

Per altre informazioni, vedere Come eliminare gli avvisi di analisi del codice.

Vedere anche