본문 바로가기
C++ 200제/코딩 IT 정보

C# get set 프로퍼티 안전하게 사용, Null Exception 유효성 (nameof)

by vicddory 2018. 10. 30.

C# get set 프로퍼티 안전하게 사용, Null Exception 유효성 (nameof)


C# 프로퍼티인 get set은 더욱 안전하고 편리하게 값을 할당/반환할 수 있습니다. get은 해당 코드 블록을 읽을 때 실행되고, set은 코드 블록에 새 값을 할당할 때 실행됩니다. ref 또는 out으로 속성을 전달할 수 없다는 특징도 있습니다.


그리고 C# 문자열의 유효성 검사를 할 때 string.IsNullOrEmpty() 함수를 이용합니다. 이건 set 프로퍼티가 실행될 때도 마찬가지인데, 변수를 호출하는 횟수가 많다면 매번 string.IsNullOrEmpty() 함수를 호출하기 번거로울 수 있습니다.


이럴 때, set 프로퍼티 자체에 유효성 검증 코드를 삽입하면 번거로움을 피할 수 있습니다.


1
2
3
4
5
6
7
private string exam_string;
 
public string ExamString
{
    get => exam_string;
    set => exam_string = value ?? throw new ArgumentNullException(nameof(ExamString));
}
cs


변수에 값을 할당할 때, ArgumentNullException을 호출하여 유효성 검사를 하는 것이죠.


C# get set 프로퍼티 안전하게 사용하기C# get set 프로퍼티 안전하게 사용, Null Exception 유효성 (nameof)


ExamString을 불러와 유효성 검사를 하면 호출하는 횟수에 맞춰 유효성 검사 횟수 역시 늘어납니다. 하지만 set 프로퍼티 자체에 유효성 검사 코드를 넣으면 string.IsNullOrEmpty() 함수 호출 횟수를 줄일 수 있습니다. 근데, 막상 글을 적어놓고 보니, 둘 다 사용해야 한다는 생각이 드네요.


팀이나 개인 성향에 맞춰 잘 사용하세요.


C# get set 프로퍼티 안전하게 사용, Null Exception 유효성 (nameof)

댓글