共用方式為


成員重載

備註

此內容經Pearson Education, Inc.授權從架構設計指導方針:可重複使用 .NET 程式庫的慣例、習慣用語與範式 (第2版)轉載。 該版於2008年出版,該書自那以後已於 第三版全面修訂。 此頁面的某些資訊可能已過期。

成員多載表示在相同類別上建立兩個或多個成員,這些成員的差異僅在於參數的數目或類型,但名稱是相同的。 例如,在下列專案中, WriteLine 方法會多載:

public static class Console {
    public void WriteLine();
    public void WriteLine(string value);
    public void WriteLine(bool value);
    ...
}

因為只有方法、建構函式和索引屬性可以有參數,因此只能多載這些成員。

多載是改善可重複使用連結庫可用性、生產力和可讀性最重要的技術之一。 參數數目上的多載可讓您提供更簡單的建構函式和方法版本。 型別多載允許您在對多種選定類型的成員執行相同操作時,使用相同的成員名稱。

✔️ DO 嘗試使用描述性參數名稱來指出較短多載所使用的預設值。

❌ 避免在多載中任意改變參數名稱。 如果一個多載中的參數代表與另一個多載中參數相同的輸入,參數應該具有相同的名稱。

❌ 避免在多載成員的參數順序上不一致。 具有相同名稱的參數應該出現在所有多載的相同位置。

✔️ DO 只將最長的重載定為虛擬(如果需要擴充性)。 較短的重載函數應該只是簡單地將呼叫定向到較長的重載函數。

❌ 請勿使用 refout 修飾詞來多載成員。

某些語言無法解析對這類多載的呼叫。 此外,這類重載通常具有完全不同的語義,而且可能不應該是重載,而是兩個不同的方法。

❌ 請勿在相同位置使用類型相似但語意不同的參數多載。

✔️ DO 允許 null 傳遞給可選參數。

✔️ DO 使用成員重載,而不是定義具有預設參數的成員。

默認參數不符合 CLS 標準。

© 2005年、2009年Microsoft公司部分。 保留所有權利。

經 Pearson Education, Inc. 許可重新刊登自 Krzysztof Cwalina 和 Brad Abrams 所著的 架構設計指導方針: 可重複使用的 .NET 程式庫慣例、慣用語和模式,第 2 版,2008 年 10 月 22 日由 Addison-Wesley Professional 發行,作為 Microsoft Windows 開發系列的一部分。

另請參閱