🌍 C# Study/이펙티브 C#
[06] nameof() 연산자를 적극 활용하라
맨텀
2021. 4. 22. 18:51
다음 본문은 도서 이펙티브 C# (빌 와그너)에서 나오는 주제를 다룹니다.
이벤트로 인자 전달에서 사용
- 일반적으로 속성에 인자로 이름 자체를 전달하는 경우가 많기 때문에, nameof()를 사용하여 전달할 수 있다.
public string Name
{
get => name;
set
{
if(value != name)
{
name = value;
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(nameof(Name));
}
}
}
오류 처리등에서 사용
- 특정 변수가 null일 때 디버깅 로그를 남기는 등의 작업을 할 때, 변수의 이름을 하드코딩으로 적는 경우 변수 이름이 바뀌는 상황에 대처할 수 없다.
int? myScore = null;
if(myscore == null)
Debug.Log("myScore가 null 값임");
int? myScore = null;
if(myscore == null)
Debug.Log($"{nameof(myScore)}가 null 값임");
결론
- 인자의 이름을 매개변수로 취할 때는 nameof()연산자를 사용하자.