Instructie instellen (Visual Basic)
Declareert een Set
eigenschapsprocedure die wordt gebruikt om een waarde toe te wijzen aan een eigenschap.
Syntaxis
[ <attributelist> ] [ accessmodifier ] Set [([ByVal value [ As datatype ]])]
[ statements ]
End Set
generator
attributelist
Optioneel. Zie de lijst met kenmerken.
accessmodifier
Optioneel op maximaal één van de Get
en Set
instructies in deze eigenschap. Dit kan een van de volgende zijn:
Zie Access-niveaus in Visual Basic.
value
Optioneel. Parameter met de nieuwe waarde voor de eigenschap. Als dit niet is opgegeven (als de parameterlijst niet aanwezig is of leeg is), wordt een impliciete parameter met de naam value
gedefinieerd. Het gegevenstype van deze impliciete parameter is het gegevenstype van de eigenschap waarin deze Set
instructie wordt gedeclareerd.
datatype
Vereist indien value
aanwezig en Option Strict
is On
. Kan niet aanwezig zijn als value
deze niet wordt gegeven. Gegevenstype van de value
parameter. Het opgegeven gegevenstype moet hetzelfde zijn als het gegevenstype van de eigenschap waarin deze Set
instructie wordt gedeclareerd.
statements
Optioneel. Een of meer instructies die worden uitgevoerd wanneer de Set
eigenschapsprocedure wordt aangeroepen.
End Set
Vereist. Hiermee wordt de definitie van de Set
eigenschapsprocedure beëindigd.
Opmerkingen
Elke eigenschap moet een Set
eigenschapsprocedure hebben, tenzij de eigenschap is gemarkeerd ReadOnly
. De Set
procedure wordt gebruikt om de waarde van de eigenschap in te stellen.
Visual Basic roept de procedure van Set
een eigenschap automatisch aan wanneer een toewijzingsinstructie een waarde biedt die in de eigenschap moet worden opgeslagen.
Visual Basic geeft een parameter door aan de Set
procedure tijdens eigenschapstoewijzingen. Als u geen parameter opgeeft Set
, gebruikt de integrated development environment (IDE) een impliciete parameter met de naam value
. De parameter bevat de waarde die moet worden toegewezen aan de eigenschap. Normaal gesproken slaat u deze waarde op in een lokale privévariabele en retourneert u deze wanneer de Get
procedure wordt aangeroepen.
De hoofdtekst van de eigenschapsdeclaratie kan alleen de Get
eigenschappen en Set
procedures tussen de eigenschapsinstructie en de End Property
instructie bevatten. Het kan niets anders dan die procedures opslaan. Met name kan de huidige waarde van de eigenschap niet worden opgeslagen. U moet deze waarde buiten de eigenschap opslaan, omdat de andere eigenschapsprocedure geen toegang heeft als u deze in een van de eigenschapsprocedures opslaat. De gebruikelijke benadering is het opslaan van de waarde in een privévariabele die is gedeclareerd op hetzelfde niveau als de eigenschap. U moet een Set
procedure definiëren binnen de eigenschap waarop deze van toepassing is.
De Set
procedure wordt standaard ingesteld op het toegangsniveau van de bijbehorende eigenschap, tenzij u deze in de Set
instructie gebruiktaccessmodifier
.
Regels
Gemengde toegangsniveaus. Als u een eigenschap lezen/schrijven definieert, kunt u desgewenst een ander toegangsniveau opgeven voor de
Get
of deSet
procedure, maar niet voor beide. Als u dit doet, moet het toegangsniveau van de procedure meer beperkend zijn dan het toegangsniveau van de eigenschap. Als de eigenschap bijvoorbeeld is gedeclareerdFriend
, kunt u deSet
procedurePrivate
declareren, maar nietPublic
.Als u een
WriteOnly
eigenschap definieert, vertegenwoordigt deSet
procedure de hele eigenschap. U kunt geen ander toegangsniveau declareren voorSet
, omdat hiermee twee toegangsniveaus voor de eigenschap worden ingesteld.
Gedrag
Terugkeren vanuit een eigenschapsprocedure. Wanneer de
Set
procedure terugkeert naar de aanroepende code, wordt de uitvoering voortgezet volgens de instructie die de waarde heeft opgegeven die moet worden opgeslagen.Set
procedures voor eigenschappen kunnen worden geretourneerd met behulp van de retourinstructie of de afsluitinstructie.De
Exit Property
instructiesReturn
veroorzaken een onmiddellijke uitgang van een eigenschapsprocedure. Elk aantalExit Property
instructiesReturn
en instructies kan overal in de procedure worden weergegeven en u kunt deze combinerenExit Property
enReturn
instructies.
Opmerking
In het volgende voorbeeld wordt de Set
instructie gebruikt om de waarde van een eigenschap in te stellen.
Class propClass
Private propVal As Integer
Property Prop1() As Integer
Get
Return propVal
End Get
Set(ByVal value As Integer)
propVal = value
End Set
End Property
End Class