nameof 란?
- 변수, 형식 또는 멤버의 이름을 문자열로 반환하는 연산자.
- C# 6.0 에서 도입되어 컴파일 단계에서 문자열 관련 오류의 가능성을 줄여 코드 유지 관리성을 향상 시킴.
사용이유
- 동작방식은 컴파일 단계에서 문자열로 변경 시켜주는 기능인데.. 이거 왜 쓰는 건지 잘 이해가 안간다. (일단 따라해 보잣)
- nameof() 는 변수명이 출력 됨. 아래 2개의 출력에서 1번째는 "암 타코" 문자열 값이 나올 것이고 2번째는 변수명이 나올 것임.
string taco = "암 타코";
Console.WriteLine(taco);
Console.WriteLine(nameof(taco));
- 로깅에서 해당 필드의 타입을 남길 때, 사용한다고 함. (이건 유용할 듯!)
- 로그를 남길 때, taco 값과 타입을 남김...
logger.Log($"Variable {nameof(taco)} has value: {taco}");
결론
- 로그 남길 때는 괜찮을 것 같은데 사용처가 다양하지는 않은 것 같음.