속성 패턴 소개 — C# 8.0
전제 조건
현재 기사 예제를 훨씬 더 잘 이해하는 데 도움이 되는 C# 8.0에 도입된 새로운 스위치 구문을 이해하십시오.
New Switch syntax with C# 8.0
시작하기
속성 패턴을 사용하면 측정된 개체의 속성을 일치시킬 수 있습니다.
단일 속성 클래스
public class Calculate
{
public string multiplyBy { get; set; }
}
기본 속성 패턴 구문
다음 예제에서는 속성 변수가 {} 중괄호 내에서 액세스되는 속성 클래스가 있는 새 스위치 케이스를 다룹니다. 따라서 문자열 속성 값이 10배이면 가격에 10을 곱하고 람다 식을 사용하여 가격을 반환합니다.
"_"기호는 기본 케이스를 나타냅니다. **Refer new switch syntax **
private static decimal ComputeOverallPrice(Calculate calculate, decimal price) =>
calculate switch
{
{ multiplyBy: "10 times" } => 10 * price,
{ multiplyBy: "5 times" } => 5 * price,
{ multiplyBy: "20 times" } => 20 * price,
_ => 0M
};
다중 속성 클래스
속성이 여러 개인 클래스를 고려하고 패턴 일치에 활용해 보겠습니다.
public class CalculateMultipleProperty
{
public string multiplyBy { get; set; }
public bool isAdditionApplicable { get; set; }
}
다중 속성 패턴 일치 구문
따라서 기본적으로 두 번째 속성, 즉 "isAdditionApplicable"이 참이면 100을 더 추가하여 가격을 산출합니다. 다음 예제에서는 속성 변수가 {} 중괄호 내에서 액세스되는 속성 클래스가 있는 새 스위치 케이스를 다룹니다.
여러 속성은 {} 중괄호 내에서 쉼표로 구분되어 액세스됩니다.
"_"기호는 기본 케이스를 나타냅니다. **Refer new switch syntax **
private static decimal ComputeOverallPriceMultiple(CalculateMultipleProperty calculate, decimal price) =>
calculate switch
{
{multiplyBy:"10 times",isAdditionApplicable:true}=>10*price + 100,
{multiplyBy:"5 times",isAdditionApplicable:true}=>5*price + 50,
{multiplyBy:"20 times",isAdditionApplicable:true}=>20*price + 70,
_ => 0M
};
Github 샘플
아래 샘플에는 단일 및 다중 속성 패턴 일치의 예가 포함되어 있습니다.
PropertyPatternExample
자세히 알아보기 - 고급 속성 패턴
Advance Property Pattern C# 8.0
읽어 주셔서 감사합니다. 계속 방문하고 네트워크에서 공유하십시오. 댓글 섹션에 여러분의 생각과 피드백을 남겨주세요.
날 따라와
C# Publication , , , , Pinterest , Substack , Wix .
Reference
이 문제에 관하여(속성 패턴 소개 — C# 8.0), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ssukhpinder/intro-to-property-pattern-c-8-0-4679텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)