Delen via


Gedeeltelijk (Visual Basic)

Geeft aan dat een typedeclaratie een gedeeltelijke definitie van het type is.

U kunt de definitie van een type onder verschillende declaraties verdelen met behulp van het Partial trefwoord. U kunt zoveel gedeeltelijke declaraties gebruiken als u wilt, in zoveel verschillende bronbestanden als u wilt. Alle declaraties moeten zich echter in dezelfde assembly en dezelfde naamruimte bevinden.

Notitie

Visual Basic ondersteunt gedeeltelijke methoden, die doorgaans worden geïmplementeerd in gedeeltelijke klassen. Zie Gedeeltelijke methoden en subinstructie voor meer informatie.

Syntaxis

[ <attrlist> ] [ accessmodifier ] [ Shadows ] [ MustInherit | NotInheritable ] _  
Partial { Class | Structure | Interface | Module } name [ (Of typelist) ]  
    [ Inherits classname ]  
    [ Implements interfacenames ]  
    [ variabledeclarations ]  
    [ proceduredeclarations ]  
{ End Class | End Structure }  

generator

Term Definitie
attrlist Optioneel. Lijst met kenmerken die van toepassing zijn op dit type. U moet de lijst met kenmerken tussen punthaken (< >) insluiten.
accessmodifier Optioneel. Hiermee geeft u op welke code toegang heeft tot dit type. Zie Access-niveaus in Visual Basic.
Shadows Optioneel. Zie schaduwen.
MustInherit Optioneel. Zie MustInherit.
NotInheritable Optioneel. Zie Nietheritable.
name Vereist. Naam van dit type. Moet overeenkomen met de naam die is gedefinieerd in alle andere gedeeltelijke declaraties van hetzelfde type.
Of Optioneel. Hiermee geeft u op dat dit een algemeen type is. Zie Algemene typen in Visual Basic.
typelist Vereist als u Van gebruikt. Zie Lijst met typen.
Inherits Optioneel. Zie Overname-instructie.
classname Vereist als u Inheritsgebruikt. De naam van de klasse of interface waaruit deze klasse is afgeleid.
Implements Optioneel. Zie Implementatie-instructie.
interfacenames Vereist als u Implementsgebruikt. De namen van de interfaces die dit type implementeert.
variabledeclarations Optioneel. Instructies die aanvullende variabelen en gebeurtenissen voor het type declareren.
proceduredeclarations Optioneel. Instructies die aanvullende procedures voor het type declareren en definiëren.
End Class of End Structure Hiermee wordt deze gedeeltelijke Class of Structure definitie beëindigd.

Opmerkingen

Visual Basic maakt gebruik van gedeeltelijke klassedefinities om gegenereerde code te scheiden van door de gebruiker geschreven code in afzonderlijke bronbestanden. De Windows Form Designer definieert bijvoorbeeld gedeeltelijke klassen voor besturingselementen zoals Form. U moet de gegenereerde code in deze besturingselementen niet wijzigen.

Alle regels voor het maken van klassen, structuren, interface en modules, zoals die voor wijzigingsgebruik en overname, zijn van toepassing bij het maken van een gedeeltelijk type.

Beste praktijken

  • In normale omstandigheden moet u de ontwikkeling van één type niet splitsen in twee of meer declaraties. Daarom hebt u in de meeste gevallen het Partial trefwoord niet nodig.

  • Voor leesbaarheid moet elke gedeeltelijke declaratie van een type het Partial trefwoord bevatten. De compiler staat maximaal één gedeeltelijke declaratie toe om het trefwoord weg te laten; als er twee of meer weglaten, geeft de compiler een fout aan.

Gedrag

  • Unie van verklaringen. De compiler behandelt het type als de samenvoeging van alle gedeeltelijke declaraties. Elke wijziging van elke gedeeltelijke definitie is van toepassing op het hele type en elk lid van elke gedeeltelijke definitie is beschikbaar voor het hele type.

  • Typepromotie is niet toegestaan voor gedeeltelijke typen in modules. Als een gedeeltelijke definitie zich in een module bevindt, wordt de niveauverhoging van dat type automatisch verslagen. In dat geval kan een set gedeeltelijke definities onverwachte resultaten en zelfs compilerfouten veroorzaken. Zie Type promotie voor meer informatie.

    De compiler voegt alleen gedeeltelijke definities samen wanneer hun volledig gekwalificeerde paden identiek zijn.

Het Partial trefwoord kan worden gebruikt in deze contexten:

Klasse-instructie

Structuurinstructie

Opmerking

In het volgende voorbeeld wordt de definitie van klasse sampleClass gesplitst in twee declaraties, die elk een andere Sub procedure definiëren.

Partial Public Class sampleClass
    Public Sub sub1()
    End Sub
End Class
Partial Public Class sampleClass
    Public Sub sub2()
    End Sub
End Class

De twee gedeeltelijke definities in het voorgaande voorbeeld kunnen zich in hetzelfde bronbestand of in twee verschillende bronbestanden bevinden.

Zie ook