表示類型宣告是型別的部分定義。
您可以使用 關鍵詞,將型別的定義分割成數個宣告 Partial 。 您可以在您想要的不同原始程序檔中,視需要使用盡可能多的部分宣告。 不過,所有宣告都必須位於相同的元件和相同的命名空間中。
語法
[ <attrlist> ] [ accessmodifier ] [ Shadows ] [ MustInherit | NotInheritable ] _
Partial { Class | Structure | Interface | Module } name [ (Of typelist) ]
[ Inherits classname ]
[ Implements interfacenames ]
[ variabledeclarations ]
[ proceduredeclarations ]
{ End Class | End Structure }
組件
| 術語 | 定義 |
|---|---|
attrlist |
選擇性。 套用至此類型的屬性清單。 您必須以角括弧 (< >) 括住屬性清單。 |
accessmodifier |
選擇性。 指定哪些程式代碼可以存取此類型。 請參閱 Visual Basic 中的存取層級。 |
Shadows |
選擇性。 請參閱 陰影。 |
MustInherit |
選擇性。 請參閱 MustInherit。 |
NotInheritable |
選擇性。 請參閱 NotInheritable。 |
name |
必須的。 此類型的名稱。 必須符合相同類型所有其他部分宣告中定義的名稱。 |
Of |
選擇性。 指定這是泛型型別。 請參閱 Visual Basic 中的泛型類型。 |
typelist |
如果您使用 Of,則為必要專案。 請參閱 類型清單。 |
Inherits |
選擇性。 請參閱 Inherits 語句。 |
classname |
如果您使用 Inherits,則需要 。 這個類別衍生的來源類別或介面名稱。 |
Implements |
選擇性。 請參閱 Implements 語句。 |
interfacenames |
如果您使用 Implements,則需要 。 這個型別所實作的介面名稱。 |
variabledeclarations |
選擇性。 宣告型別其他變數和事件的語句。 |
proceduredeclarations |
選擇性。 宣告和定義型別其他程序的語句。 |
End Class 或 End Structure |
結束此部分 Class 或 Structure 定義。 |
備註
Visual Basic 會使用部分類別定義,將產生的程式代碼與個別原始程式檔中的使用者撰寫程式代碼分開。 例如, Windows Form 設計 工具會定義控制項的部分類別,例如 Form。 您不應該修改這些控制件中產生的程式代碼。
建立部分類型時,適用於類別、結構、介面和模組建立的所有規則,例如修飾詞使用方式和繼承的規則。
最佳做法
在正常情況下,您不應該將單一型別的開發分割成兩個或多個宣告。 因此,在大部分情況下,您不需要
Partial關鍵詞。為了可讀性,類型的每個部分宣告都應該包含
Partial關鍵詞。 編譯程式最多允許一個部分宣告省略 關鍵詞;如果兩個或多個省略它,編譯程式會發出錯誤訊號。
行為
宣告聯集。 編譯程式會將類型視為其所有部分宣告的聯集。 每個部分定義的每個修飾詞都會套用至整個類型,而且每個部分定義中的每個成員都可供整個類型使用。
模組中部分類型不允許類型升級。 如果部分定義位於模組內,該類型的類型升級會自動失敗。 在這種情況下,一組部分定義可能會導致非預期的結果,甚至是編譯程序錯誤。 如需詳細資訊,請參閱 類型升級。
只有在完整路徑完全相同時,編譯程式才會合併部分定義。
Partial關鍵字可用於下列內容:
範例
下列範例會將 類別 sampleClass 的定義分割成兩個宣告,每個宣告都會定義不同的 Sub 程式。
Partial Public Class sampleClass
Public Sub sub1()
End Sub
End Class
Partial Public Class sampleClass
Public Sub sub2()
End Sub
End Class
上述範例中的兩個部分定義可以位於相同的原始程序檔或兩個不同的原始程序檔中。
另請參閱
- 類別陳述
- Structure 陳述式
- 類型升階
- 陰影
- 在 Visual Basic 中泛型類型
- 部分方法