nameof 연산자는 C# 6.0에서 도입되었으며, 변수, 타입 또는 멤버의 이름을 문자열로 가져오는 데 사용됩니다. 이 연산자는 주로 예외 처리, 로깅, 속성 변경 알림과 같은 시나리오에서 변수나 속성의 이름을 하드코딩하지 않기 위해 사용됩니다. nameof를 사용하면 코드의 리팩토링이나 이름 변경 시 문제를 예방할 수 있습니다.
다음은 nameof 연산자를 사용한 예시 C# 코드입니다:
using System;
public class Student
{
private string _name;
public string Name
{
get { return _name; }
set
{
if (string.IsNullOrEmpty(value))
{
// nameof 연산자를 사용하여 속성의 이름을 동적으로 가져옴
throw new ArgumentException($"{nameof(Name)} cannot be null or empty.");
}
_name = value;
}
}
}
class Program
{
static void Main()
{
try
{
var student = new Student();
student.Name = ""; // 빈 문자열을 할당하면 예외가 발생
}
catch (ArgumentException ex)
{
Console.WriteLine(ex.Message);
// 출력: Name cannot be null or empty.
}
}
}
위의 예제에서 nameof(Name)은 "Name"이라는 문자열을 반환합니다. 만약 나중에 Name 속성의 이름을 변경하더라도, nameof 연산자를 사용한 코드 부분은 자동으로 업데이트되므로 오류를 방지할 수 있습니다.
'워크 > C# 6,0' 카테고리의 다른 글
String Interpolation (문자열 보간) (0) | 2023.09.16 |
---|---|
Null-conditional Operators (null 조건 연산자) (0) | 2023.09.13 |
Auto-Property Initializers (자동 속성 초기화) (0) | 2023.09.12 |
C# 6.0 - 추가적인 팁 (0) | 2023.09.12 |
C# 6.0 - 더 많은 기능들 (0) | 2023.09.12 |