プロパティ パターンを簡略化します (IDE0170)
プロパティ | 値 |
---|---|
ルール ID | IDE0170 |
タイトル | プロパティ パターンを簡略化する |
カテゴリ | スタイル |
Subcategory | 言語規則 (パターン マッチング設定) |
該当言語 | 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 };
警告を抑制する
単一の違反だけを抑制する場合は、ソース ファイルにプリプロセッサ ディレクティブを追加して無効にしてから、規則を再度有効にします。
#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
詳細については、「コード分析の警告を抑制する方法」を参照してください。
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET