생성자 내에서 다른 생성자 호출
클래스에서 생성자는 객체가 생성될 때 필드를 초기화하는 데 사용됩니다. 경우에 따라 여러 생성자가 읽기 전용 필드에 값을 제공할 수도 있습니다. 다음 클래스를 고려해보세요:
<code class="language-c#">public class Sample { public Sample(string theIntAsString) { int i = int.Parse(theIntAsString); _intField = i; } public Sample(int theInt) => _intField = theInt; public int IntProperty => _intField; private readonly int _intField; }</code>
여기에는 두 개의 생성자가 있습니다. 그러나 읽기 전용 필드는 생성자에서 초기화해야 하므로 필드 설정 코드 중복을 피하려는 경우 문제가 발생합니다.
다행히도 해결책이 있습니다. 생성자 체이닝을 사용하는 것입니다. 문자열 인수 생성자에 다음 줄을 추가합니다.
<code class="language-c#">public Sample(string str) : this(int.Parse(str)) { }</code>
문자열 매개변수 생성자에서 정수 매개변수 생성자를 호출할 수 있습니다. 이는 필드 초기화를 기존 코드에 위임하므로 중복이 필요하지 않습니다.
위 내용은 여러 생성자에서 읽기 전용 필드를 초기화할 때 코드 중복을 방지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!