在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中文網其他相關文章!