Partiell (Visual Basic)
Anger att en typdeklaration är en partiell definition av typen.
Du kan dela upp definitionen av en typ mellan flera deklarationer med hjälp av nyckelordet Partial
. Du kan använda så många partiella deklarationer som du vill i så många olika källfiler som du vill. Alla deklarationer måste dock finnas i samma sammansättning och samma namnområde.
Kommentar
Visual Basic stöder partiella metoder som vanligtvis implementeras i partiella klasser. Mer information finns i Partiella metoder och underuttryck.
Syntax
[ <attrlist> ] [ accessmodifier ] [ Shadows ] [ MustInherit | NotInheritable ] _
Partial { Class | Structure | Interface | Module } name [ (Of typelist) ]
[ Inherits classname ]
[ Implements interfacenames ]
[ variabledeclarations ]
[ proceduredeclarations ]
{ End Class | End Structure }
Delar
Period | Definition |
---|---|
attrlist |
Valfritt. Lista över attribut som gäller för den här typen. Du måste omsluta attributlistan i vinkelparenteser (< > ). |
accessmodifier |
Valfritt. Anger vilken kod som kan komma åt den här typen. Se Åtkomstnivåer i Visual Basic. |
Shadows |
Valfritt. Se Skuggor. |
MustInherit |
Valfritt. Se MustInherit. |
NotInheritable |
Valfritt. Se NotInheritable. |
name |
Obligatoriska. Namnet på den här typen. Måste matcha namnet som definierats i alla andra partiella deklarationer av samma typ. |
Of |
Valfritt. Anger att detta är en allmän typ. Se Allmänna typer i Visual Basic. |
typelist |
Krävs om du använder Av. Se Typlista. |
Inherits |
Valfritt. Se Ärver-instruktion. |
classname |
Krävs om du använder Inherits . Namnet på den klass eller det gränssnitt som den här klassen härleds från. |
Implements |
Valfritt. Se Implementeringsinstruktor. |
interfacenames |
Krävs om du använder Implements . Namnen på de gränssnitt som den här typen implementerar. |
variabledeclarations |
Valfritt. Instruktioner som deklarerar ytterligare variabler och händelser för typen. |
proceduredeclarations |
Valfritt. Instruktioner som deklarerar och definierar ytterligare procedurer för typen. |
End Class eller End Structure |
Avslutar den här partiella Class definitionen eller Structure definitionen. |
Kommentarer
Visual Basic använder definitioner av partiell klass för att separera genererad kod från användarskapad kod i separata källfiler. Till exempel definierar Windows Form Designer partiella klasser för kontroller som Form. Du bör inte ändra den genererade koden i dessa kontroller.
Alla regler för skapande av klass, struktur, gränssnitt och moduler, till exempel de för modifieraranvändning och arv, gäller när du skapar en partiell typ.
Metodtips
Under normala omständigheter bör du inte dela upp utvecklingen av en enda typ mellan två eller flera deklarationer. Därför behöver du i de flesta fall inte nyckelordet
Partial
.För läsbarhet bör varje partiell deklaration av en typ innehålla nyckelordet
Partial
. Kompilatorn tillåter högst en partiell deklaration att utelämna nyckelordet. om två eller flera utelämnar det signalerar kompilatorn ett fel.
Funktionssätt
deklarationsunionen. Kompilatorn behandlar typen som en union av alla dess partiella deklarationer. Varje modifierare från varje partiell definition gäller för hela typen, och varje medlem från varje partiell definition är tillgänglig för hela typen.
Typhöjning tillåts inte för partiella typer i moduler. Om en partiell definition finns i en modul kommer typen av befordran av den typen automatiskt att besegras. I sådana fall kan en uppsättning partiella definitioner orsaka oväntade resultat och till och med kompilatorfel. Mer information finns i Typhöjning.
Kompilatorn sammanfogar endast partiella definitioner när deras fullständigt kvalificerade sökvägar är identiska.
Nyckelordet Partial
kan användas i följande sammanhang:
Exempel
I följande exempel delas definitionen av klassen sampleClass
upp i två deklarationer, som var och en definierar en annan Sub
procedur.
Partial Public Class sampleClass
Public Sub sub1()
End Sub
End Class
Partial Public Class sampleClass
Public Sub sub2()
End Sub
End Class
De två partiella definitionerna i föregående exempel kan finnas i samma källfil eller i två olika källfiler.