Overloads

更新:2007 年 11 月

指定屬性 (Property) 或程序重新宣告一或多個同名的現有屬性或程序。

備註

「多載化」(Overloading) 是一種作法,可將多個定義提供給相同範圍中的指定屬性或程序名稱。利用不同簽章重新宣告屬性或程序有時稱為「利用簽章隱藏」。

規則

  • 宣告內容:只有在屬性或程序宣告陳述式 (Declaration Statement) 中,才能使用 Overloads。

  • 組合的修飾詞:不能在同一個程序宣告中同時指定 Overloads 和 Shadows

  • 必要的差異:這個宣告中的「簽章」必須不同於它多載的每個屬性或程序的簽章。簽章是由屬性或程序名稱,加上下列項目所構成:

    • 參數的數目

    • 參數的順序

    • 參數的資料型別

    • 型別參數的數目 (適用於泛型程序)

    • 傳回型別 (只適用於轉換運算子程序)

    所有多載都必須具有相同名稱,但每一個都必須不同於先前的所有其他多載。這可讓編譯器辨別在程式碼呼叫屬性或程序時所要使用的版本。

  • 不允許的差異:變更下列項目不適用於多載屬性或程序,因為它們不是簽章的一部分。

    • 它是否傳回值 (適用於程序)

    • 傳回值的資料型別 (轉換運算子除外)

    • 參數或型別參數的名稱

    • 型別參數上的條件約束 (適用於泛型程序)

    • 參數修飾詞關鍵字 (如 ByRef 或 Optional)

    • 屬性或程序修飾詞關鍵字 (如 Public 或 Shared)

  • 選擇性修飾詞:當您在同一個類別中定義多個多載屬性或程序時,不需要使用 Overloads 修飾詞。不過如果您在其中一個宣告中使用 Overloads 的話,必須同時在所有宣告中使用。

  • 遮蔽和多載化:Overloads 也可以被使用於基底類別中遮蔽 (Shadow) 已存在的成員,或是一組多載的成員。若您以此方式使用 Overloads,你必須將屬性或方法的名稱和引數清單宣告為和基底類別成員相同,而且不需提供 Shadows 關鍵字。

Overloads 修飾詞可用於以下內容中:

Function 陳述式

Operator 陳述式

Property 陳述式

Sub 陳述式

請參閱

工作

HOW TO:定義轉換運算子

概念

程序多載化

Visual Basic 中的泛型型別

運算子程序

參考

Shadows