더북(TheBook)

처음에는 예전처럼 클래스를 쉽게 선언할 수 없기 때문에 nullable 참조가 귀찮을 수 있다. 수신자의 이름과 이메일을 받고 데이터베이스에 회의 결과를 기록하는 등록 웹 페이지를 개발하고 있다고 가정해 보자. 클래스에는 광고 네트워크에서 전달된 자유로운 형식의 문자열인 캠페인 소스 필드가 있다. 이 문자열에 값이 없는 경우, 광고를 참조하지 않고 페이지에 직접 액세스한다는 것을 의미한다. 이 클래스는 다음과 같다.

#nullable enable
class ConferenceRegistration
{
    public string CampaignSource { get; set; }
    public string FirstName { get; set; }
    public string? MiddleName { get; set; }    → 중간 이름은 선택 사항이다.
    public string LastName { get; set; }
    public string Email { get; set; }
    public DateTimeOffset CreatedOn { get; set; }    → 데이터베이스에 기록을 작성한 날짜가 있으면 이후 조사에 유용하다.
}
#nullable restore

코드에서 클래스를 컴파일하려고 하면 non-nullable 선언된 모든 문자열, 즉 MiddleNameCreatedOn을 제외한 모든 속성에 대해 컴파일러 경고가 표시된다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.