Procedure: Een eigenschap maken (Visual Basic)
U plaatst een eigenschapsdefinitie tussen een Property
instructie en een End Property
instructie. Binnen deze definitie definieert u een Get
procedure, een Set
procedure of beide. Alle code van de eigenschap ligt binnen deze procedures.
De Get
procedure haalt de waarde van de eigenschap op en de Set
procedure slaat een waarde op. Als u wilt dat de eigenschap lees-/schrijftoegang heeft, moet u beide procedures definiëren. Voor een alleen-lezen eigenschap definieert u alleen Get
en voor een alleen-schrijven-eigenschap definieert u alleen Set
.
Een eigenschap maken
Gebruik buiten een eigenschap of procedure een eigenschapsinstructie, gevolgd door een
End Property
instructie.Als de eigenschap parameters gebruikt, volgt u het
Property
trefwoord met de naam van de procedure en vervolgens de lijst met parameters tussen haakjes.Volg de haakjes met een
As
component om het gegevenstype van de waarde van de eigenschap op te geven. U moet het gegevenstype zelfs opgeven voor een eigenschap alleen-schrijven.Voeg
Get
enSet
procedures toe, indien van toepassing. Zie de volgende aanwijzingen.
Een Get-procedure maken waarmee een eigenschapswaarde wordt opgehaald
Tussen de
Property
enEnd Property
instructies schrijft u een Get-instructie, gevolgd door eenEnd Get
instructie. U hoeft geen parameters voor deGet
procedure te definiëren.Plaats de code-instructies om de waarde van de eigenschap tussen de
Get
enEnd Get
instructies op te halen. Deze code kan andere berekeningen en gegevensmanipulaties bevatten, naast het genereren en retourneren van de waarde van de eigenschap.Gebruik een
Return
instructie om de waarde van de eigenschap te retourneren aan de aanroepende code.
U moet een Get
procedure schrijven voor een eigenschap lezen/schrijven en voor een alleen-lezen-eigenschap. U moet geen procedure definiëren Get
voor een eigenschap met alleen-schrijven.
Een setprocedure maken waarmee de waarde van een eigenschap wordt geschreven
Tussen de
Property
enEnd Property
instructies schrijft u een set-instructie, gevolgd door eenEnd Set
instructie.Volg in de
Set
instructie desgewenst hetSet
trefwoord met een parameterlijst tussen haakjes. Als de parameterlijst niet aanwezig is of leeg is, wordt een impliciete parameter met de naamValue
gedefinieerd, waarvan het type het type van de eigenschap zelf is. Als de lijst met parameters niet leeg is, kunt u indien van toepassing een andere naam gebruiken, maar moet de parameter hetzelfde gegevenstype hebben als de eigenschap zelf.Plaats de code-instructies om een waarde op te slaan in de eigenschap tussen de
Set
enEnd Set
instructies. Deze code kan andere berekeningen en gegevensmanipulaties bevatten, naast het valideren en opslaan van de waarde van de eigenschap.Gebruik de waardeparameter om de waarde te accepteren die is opgegeven door de aanroepende code. U kunt deze waarde rechtstreeks opslaan in een toewijzingsinstructie of deze gebruiken in een expressie om de interne waarde te berekenen die moet worden opgeslagen.
U moet een Set
procedure schrijven voor een eigenschap lezen/schrijven en voor een alleen-schrijven-eigenschap. U mag geen procedure definiëren Set
voor een alleen-lezen eigenschap.
Opmerking
In het volgende voorbeeld wordt een lees-/schrijfeigenschap gemaakt waarin een volledige naam wordt opgeslagen als twee samenstellende namen, de voornaam en de achternaam. Wanneer de aanroepende fullName
code wordt gelezen, worden de Get
twee samenstellende namen gecombineerd en wordt de volledige naam geretourneerd. Wanneer de aanroepende code een nieuwe volledige naam toewijst, probeert de Set
procedure deze op te splitsen in twee samenstellende namen. Als er geen spatie wordt gevonden, wordt deze allemaal opgeslagen als de voornaam.
Dim firstName, lastName As String
Property fullName() As String
Get
If lastName = "" Then
Return firstName
Else
Return firstName & " " & lastName
End If
End Get
Set(ByVal Value As String)
Dim space As Integer = Value.IndexOf(" ")
If space < 0 Then
firstName = Value
lastName = ""
Else
firstName = Value.Substring(0, space)
lastName = Value.Substring(space + 1)
End If
End Set
End Property
In het volgende voorbeeld ziet u typische aanroepen naar de eigenschapsprocedures van fullName
. De eerste aanroep stelt de eigenschapswaarde in en de tweede aanroep haalt deze op.
fullName = "MyFirstName MyLastName"
MsgBox(fullName)
Zie ook
- Procedures
- Eigenschappenprocedures
- Procedureparameters en argumenten
- Verschillen tussen eigenschappen en variabelen in Visual Basic
- Procedure: Een eigenschap met gemengde toegangsniveaus declareren
- Procedure: Een eigenschapsprocedure aanroepen
- Procedure: Een standaardeigenschap declareren en aanroepen in Visual Basic
- Procedure: Een waarde in een eigenschap plaatsen
- Procedure: Een waarde ophalen uit een eigenschap