속성 패턴 소개 — C# 8.0

Microsoft는 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 .

좋은 웹페이지 즐겨찾기