C# 11 required members 키워드 소개 | 이재웅

Required Members

안녕하세요! 개발자 이재웅입니다.
이제 required 키워드 선언을 통해 여러 생성자를 만들지 않고도 필수 구성원을 지정할 수 있게 되었습니다. :smile:


required members는 C# 11을 통해 공개된 .NET 7.0의 새로운 기능입니다.
그리고 앞서 @dimohy 님이 소개해 주신 그것 과도 같은 내용이므로 함께 참고하시면 좋습니다. 확인


그럼 한번 살펴볼까요?

public class James
{
    public required string Name { get; set; }
    public required string Email { get; set; }
}

Name과 Email 속성을 required 필수 구성원으로 선언했습니다.

// 오류...
James james = new();

필수 멤버인 Name과 Email 속성을 생성 과정에서 초기화 하지 않았기 때문에 아래와 같은 오류가 발생합니다.

Visual Studio 2022에서의 오류 안내…

image


이제 생성 과정에서 반드시 Name과 Email 속성 값을 설정해야 정상으로 동작하게 됩니다.

James james = new { Name = "James", Email = "james@jamesnet.dev" };

required 키워드를 사용한다면 간단하고 쉽게 객체 생성 시점에서 제동을 걸 수 있게 되었습니다. 개발 속도 면에서도 분명 긍정적인 활용이 될 것 같습니다. (리팩토링을 할 때 재밌게 활용할 수 있지 않을까…?)

단 새롭게 생긴 많은 기능과 문법이 그러하듯 모든 상황에 만능인 것은 아니기 때문에 적절한 상황이다 싶을 때 한번 시도해보는 것으로 시작해 보면 어떨까요.

다음에는 이와 관련된 [SetsRequiredMembers] Attribute와 init에 대한 내용도 이어서 소개 예정입니다.


제가 준비한 내용은 여기까지 입니다.
읽어주셔서 감사합니다. :smile:

3개의 좋아요