>백엔드 개발 >C++ >읽기 전용 필드를 초기화하기 위해 C#에서 다른 생성자로부터 하나의 생성자를 어떻게 호출할 수 있습니까?

읽기 전용 필드를 초기화하기 위해 C#에서 다른 생성자로부터 하나의 생성자를 어떻게 호출할 수 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-12 11:52:43579검색

How Can I Call One Constructor from Another in C# to Initialize Readonly Fields?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.