Partial (Visual Basic)
表示類別宣告為類型的部分定義。
您可以使用 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 |
選擇性。 指定哪些程式碼可以存取此類型。 請參閱 Access levels in Visual Basic。 |
Shadows |
選擇性。 請參閱 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
上述範例中的兩個部分定義可位於相同的原始程式檔或在兩個不同的原始程式檔中。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應