Blazor에서 Switch 표현식 사용 시 발생하는 문제
이 글은 Blazor에서 switch 표현식을 사용할 때 발생하는 컴파일 오류에 대해 설명합니다. Blazor는 소스 생성기를 통해 Razor 파일을 C# 코드로 변환하는데, switch 표현식과 함께 사용할 때 문제가 발생합니다.
주요 문제는 < 3 => "< 3"
과 같이 <
기호로 시작하는 패턴을 사용할 때 Razor 파서가 이를 HTML 태그나 컴포넌트로 인식하여 구문 분석 오류가 발생한다는 것입니다.
해결방법으로는:
- 기존의 if-else 문 사용
- switch 문 사용
- 첫 번째 패턴을 괄호로 감싸기
_ and < 3
같은 형태로 작성하기
결론적으로 Blazor 자체가 switch 표현식을 지원하지 않는 것이 아니라, 특정 구문(<
로 시작하는 패턴) 때문에 파싱 문제가 발생하는 것으로 밝혀졌습니다.