Overloads
更新:2007 年 11 月
指定屬性 (Property) 或程序重新宣告一或多個同名的現有屬性或程序。
備註
「多載化」(Overloading) 是一種作法,可將多個定義提供給相同範圍中的指定屬性或程序名稱。利用不同簽章重新宣告屬性或程序有時稱為「利用簽章隱藏」。
規則
**宣告內容:**只有在屬性或程序宣告陳述式 (Declaration Statement) 中,才能使用 Overloads。
**組合的修飾詞:**不能在同一個程序宣告中同時指定 Overloads 和 Shadows。
**必要的差異:**這個宣告中的「簽章」必須不同於它多載的每個屬性或程序的簽章。簽章是由屬性或程序名稱,加上下列項目所構成:
參數的數目
參數的順序
參數的資料型別
型別參數的數目 (適用於泛型程序)
傳回型別 (只適用於轉換運算子程序)
所有多載都必須具有相同名稱,但每一個都必須不同於先前的所有其他多載。這可讓編譯器辨別在程式碼呼叫屬性或程序時所要使用的版本。
不允許的差異:變更下列項目不適用於多載屬性或程序,因為它們不是簽章的一部分。
它是否傳回值 (適用於程序)
傳回值的資料型別 (轉換運算子除外)
參數或型別參數的名稱
型別參數上的條件約束 (適用於泛型程序)
參數修飾詞關鍵字 (如 ByRef 或 Optional)
屬性或程序修飾詞關鍵字 (如 Public 或 Shared)
**選擇性修飾詞:**當您在同一個類別中定義多個多載屬性或程序時,不需要使用 Overloads 修飾詞。不過如果您在其中一個宣告中使用 Overloads 的話,必須同時在所有宣告中使用。
**遮蔽和多載化:**Overloads 也可以被使用於基底類別中遮蔽 (Shadow) 已存在的成員,或是一組多載的成員。若您以此方式使用 Overloads,你必須將屬性或方法的名稱和引數清單宣告為和基底類別成員相同,而且不需提供 Shadows 關鍵字。
Overloads 修飾詞可用於以下內容中: