首頁 >後端開發 >C++ >如何在 C# 中呼叫一個建構函式以避免程式碼重複?

如何在 C# 中呼叫一個建構函式以避免程式碼重複?

Linda Hamilton
Linda Hamilton原創
2025-01-12 11:32:44127瀏覽

How Can I Call One Constructor from Another in C# to Avoid Code Duplication?

在C#中呼叫另一個建構子

當處理初始化只讀欄位的建構子時,避免重複邏輯是可取的。此外,僅在建構函式內設定唯讀欄位可確保資料完整性。但是,建構函式不能直接呼叫其他建構函式。

解:方法鍊式呼叫

為了克服這個限制,可以使用方法鍊式呼叫。在C#中,這涉及從現有建構函式中呼叫帶有參數的新建構函式。此語法允許您初始化多個字段,同時集中設定邏輯:

<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>

透過從接收字串參數的建構函式中呼叫接收整數參數的建構函數,您可以將欄位初始化委託給前者。這消除了程式碼重複並確保了欄位設定的一致性。

以上是如何在 C# 中呼叫一個建構函式以避免程式碼重複?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn