Andrew Lock님의 글을 따라 가는 것으로 시작해봅시다.
소스 증분 생성기를 이용해 열거형의 ToString()
를 개선한 ToStringFast()
를 자동 생성하는 소스 생성기로 테스트 한 소스코드는 다음 깃허브를 통해 확인하고 내려받을 수 있습니다.
https://github.com/dimohy/csharp-check/tree/main/No3.EnumGenerator
소스 생성기 코드는 적용 프로젝트의 분석기로 컴파일 시점에서 동작하므로 디버그가 까다롭습니다. 가장 간단한 방법은, Initialize()
메소드의 진입점에 다음의 코드를 삽입하는 것입니다.
using Dimohysm.AutoGen.EnumGenerators;
var w = WeekKind.월요일;
Console.WriteLine(w.ToStringFast());
[EnumExtensions]
public enum WeekKind
{
일요일,
월요일,
화요일,
수요일,
목요일,
금요일,
토요일
}
| 출력
월요일