次の方法で共有


プロパティ パターンを簡略化する (IDE0170)

財産 価値
ルール ID IDE0170
タイトル プロパティ パターンを簡略化する
カテゴリ スタイル
サブカテゴリ 言語ルール (パターン マッチングの基本設定)
適用される言語 C#
オプション csharp_style_prefer_extended_property_pattern

概要

このスタイル ルールは、プロパティ パターンで入れ子になったパターンの使用にフラグを設定します。 入れ子になったパターンは、プロパティ サブパターンを使用して入れ子になったメンバーを参照する拡張プロパティ パターンを使用するように簡略化できます。 拡張プロパティ パターンにより、コードの読みやすさが向上します。

オプション

オプションでは、ルールを適用する動作を指定します。 オプションの構成については、「オプション形式 を参照してください。

csharp_style_prefer_extended_property_pattern

財産 価値 説明
オプション名 csharp_style_prefer_extended_property_pattern
オプション値 true 拡張プロパティ パターンを優先します。
false ルールを無効にします。
既定のオプション値 true

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

警告を抑制する

1 つの違反のみを抑制する場合は、ソース ファイルにプリプロセッサ ディレクティブを追加して無効にしてから、ルールを再度有効にします。

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

ファイル、フォルダー、またはプロジェクトのルールを無効にするには、その重大度を 構成ファイルnone に設定します。

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

すべてのコード スタイルルールを無効にするには、カテゴリ Style の重大度を、構成ファイルnone するように設定します。

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

詳細については、「コード分析の警告を抑制する方法」を参照してください。

関連項目