Delen via


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 de Set 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 gedeclareerd Friend, kunt u de Set procedure Privatedeclareren, maar niet Public.

    Als u een WriteOnly eigenschap definieert, vertegenwoordigt de Set procedure de hele eigenschap. U kunt geen ander toegangsniveau declareren voor Set, 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 instructies Return veroorzaken een onmiddellijke uitgang van een eigenschapsprocedure. Elk aantal Exit Property instructies Return en instructies kan overal in de procedure worden weergegeven en u kunt deze combineren Exit Property en Return 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

Zie ook