속성 패턴 단순화(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 };

경고 표시 안 함

단일 위반만 표시하지 않으려면 원본 파일에 전처리기 지시문을 추가하여 규칙을 사용하지 않도록 설정한 후 다시 사용하도록 설정합니다.

#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

자세한 내용은 방법: 코드 분석 경고 표시 안 함을 참조하세요.

추가 정보