C#의 생성자 체이닝: 읽기 전용 필드 초기화를 위한 솔루션
여러 생성자를 사용하여 readonly
필드를 초기화해야 하는 경우가 있습니다. readonly
필드에는 생성자 내에서만 값을 할당할 수 있으므로 단순히 생성자 전체에 초기화 논리를 복제하는 것은 비효율적이며 오류가 발생하기 쉽습니다. C#은 생성자 체이닝이라는 깔끔한 솔루션을 제공합니다.
this
생성자 연결은 this
키워드를 활용하여 한 생성자를 다른 생성자에서 호출합니다. 이렇게 하면 초기화 프로세스가 리디렉션되어 중복 코드가 제거됩니다.
예:
<code class="language-csharp">public class Sample { public Sample(string theIntAsString) : this(int.Parse(theIntAsString)) { } public Sample(int theInt) => _intField = theInt; public int IntProperty => _intField; private readonly int _intField; }</code>
이 Sample
클래스는 두 개의 생성자를 보여줍니다. 첫 번째 생성자는 문자열을 가져와 정수로 구문 분석한 다음 두 번째 생성자에 연결하여 구문 분석된 정수를 전달합니다. 두 번째 생성자는 readonly
필드를 직접 초기화합니다. 이 접근 방식은 초기화 논리를 중앙 집중화하는 동시에 클래스 인스턴스화 방법에 유연성을 제공합니다.
생성자 연결을 사용하면 중복된 초기화 논리를 방지하여 코드 재사용성을 향상하고 불일치 위험을 줄여 코드를 더 깔끔하고 유지 관리하기 쉽게 만들 수 있습니다.
위 내용은 읽기 전용 필드를 초기화하기 위해 C#에서 다른 생성자로부터 하나의 생성자를 어떻게 호출할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!