Gör så här: Skapa en egenskap (Visual Basic)
Du omger en egenskapsdefinition mellan en Property
-instruktion och en End Property
-instruktion. I den här definitionen definierar du en Get
procedur, en Set
procedur eller både och. All egenskapskod ligger inom dessa procedurer.
Proceduren Get
hämtar egenskapens värde och proceduren Set
lagrar ett värde. Om du vill att egenskapen ska ha läs-/skrivåtkomst måste du definiera båda procedurerna. För en skrivskyddad egenskap definierar du endast Get
, och för en skrivskyddad egenskap definierar du endast Set
.
Skapa en egenskap
Utanför valfri egenskap eller procedur använder du en egenskapsuttryck följt av en
End Property
-instruktion.Om egenskapen tar parametrar följer du nyckelordet
Property
med namnet på proceduren och sedan parameterlistan inom parenteser.Följ parenteserna med en
As
sats för att ange datatypen för egenskapens värde. Du måste ange datatypen även för en skrivskyddad egenskap.Lägg till
Get
ochSet
procedurer efter behov. Se följande anvisningar.
Skapa en Get-procedur som hämtar ett egenskapsvärde
Mellan - och-uttrycken
Property
End Property
skriver du en Get-instruktion följt av enEnd Get
-instruktion. Du behöver inte definiera några parametrar för procedurenGet
.Placera kodinstruktionerna för att hämta egenskapens värde mellan - och-uttrycken
Get
End Get
. Den här koden kan innehålla andra beräkningar och datamanipuleringar utöver att generera och returnera egenskapens värde.Använd en
Return
instruktion för att returnera egenskapens värde till den anropande koden.
Du måste skriva en Get
procedur för en skrivskyddad egenskap och för en skrivskyddad egenskap. Du får inte definiera en Get
procedur för en skrivskyddad egenskap.
Så här skapar du en Set-procedur som skriver en egenskaps värde
Mellan - och-uttrycken
Property
End Property
skriver du en Set-instruktion följt av enEnd Set
-instruktion.I -instruktionen
Set
kan du välja att följa nyckelordetSet
med en parameterlista inom parenteser. Om parameterlistan inte finns eller är tom definieras en implicit parameter med namnetValue
, vars typ är själva egenskapens typ. Om parameterlistan inte är tom kan du använda ett annat namn om det är lämpligt, men parametern måste ha samma datatyp som själva egenskapen.Placera kodinstruktionerna för att lagra ett värde i egenskapen mellan - och-uttrycken
Set
End Set
. Den här koden kan innehålla andra beräkningar och datamanipuleringar utöver validering och lagring av egenskapens värde.Använd värdeparametern för att acceptera det värde som anges av den anropande koden. Du kan antingen lagra det här värdet direkt i en tilldelningssats eller använda det i ett uttryck för att beräkna det interna värde som ska lagras.
Du måste skriva en Set
procedur för en skrivskyddad egenskap och för en skrivskyddad egenskap. Du får inte definiera en Set
procedur för en skrivskyddad egenskap.
Exempel
I följande exempel skapas en läs-/skrivegenskap som lagrar ett fullständigt namn som två komponentnamn, förnamnet och efternamnet. När den anropande koden läser kombinerar fullName
proceduren Get
de två komponentnamnen och returnerar det fullständiga namnet. När den anropande koden tilldelar ett nytt fullständigt namn försöker proceduren Set
dela upp det i två komponentnamn. Om det inte hittar något utrymme lagras allt som förnamn.
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
I följande exempel visas vanliga anrop till egenskapsprocedurerna fullName
för . Det första anropet anger egenskapsvärdet och det andra anropet hämtar det.
fullName = "MyFirstName MyLastName"
MsgBox(fullName)
Se även
- Förfaranden
- Egenskapsprocedurer
- Procedureparametrar och argument
- Skillnader mellan egenskaper och variabler i Visual Basic
- Gör så här: Deklarera en egenskap med blandade åtkomstnivåer
- Anvisningar: Anropa en egenskapsprocedur
- Så här deklarerar och anropar du en standardegenskap i Visual Basic
- Gör så här: Placera ett värde i en egenskap
- Anvisningar: Hämta ett värde från en egenskap