Simplifier le modèle de propriété (IDE0170)

Propriété Value
Identificateur de la règle IDE0170
Titre Simplifier le modèle de propriété
Catégorie Style
Sous-catégorie Règles de langage (préférences relatives aux critères spéciaux)
Langages applicables C#
Options csharp_style_prefer_extended_property_pattern

Vue d’ensemble

Cette règle de style signale l’utilisation d’un modèle imbriqué dans un modèle de propriété. Un modèle imbriqué peut être simplifié pour utiliser un modèle de propriété étendu dans lequel les sous-modèles de propriété sont utilisés pour référencer les membres imbriqués. Les modèles de propriétés étendues améliorent la lisibilité du code.

Options

Les options spécifient le comportement que vous souhaitez que la règle applique. Pour plus d’informations sur la configuration des options, consultez Format d’option.

csharp_style_prefer_extended_property_pattern

Propriété Valeur Description
Nom d'option csharp_style_prefer_extended_property_pattern
Valeurs d’option true Préférez le modèle de propriété étendue.
false Il désactive la règle.
Valeur d’option par défaut true

Exemple

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

Supprimer un avertissement

Si vous voulez supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver et réactiver la règle.

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

Pour désactiver la règle sur un fichier, un dossier ou un projet, définissez sa gravité sur none dans le fichier de configuration.

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

Pour désactiver toutes les règles de style de code, définissez la gravité de la catégorie Style sur none dans le fichier de configuration.

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

Pour plus d’informations, consultez Comment supprimer les avertissements de l’analyse de code.

Voir aussi