Ange instruktion (Visual Basic)
Deklarerar en Set
egenskapsprocedur som används för att tilldela ett värde till en egenskap.
Syntax
[ <attributelist> ] [ accessmodifier ] Set [([ByVal value [ As datatype ]])]
[ statements ]
End Set
Delar
attributelist
Valfritt. Se Attributlista.
accessmodifier
Valfri på högst en av - och-uttrycken Get
Set
i den här egenskapen. Kan vara något av följande:
Se Åtkomstnivåer i Visual Basic.
value
Valfritt. Parameter som innehåller det nya värdet för egenskapen. Om det inte anges (det vill: om parameterlistan inte finns eller är tom) definieras en implicit parameter med namnet value
. Datatypen för den här implicita parametern är datatypen för egenskapen där den här Set
instruktionen deklareras.
datatype
Krävs om value
finns och Option Strict
är On
. Det går inte att vara närvarande om value
det inte anges. Datatyp för parametern value
. Den angivna datatypen måste vara samma som datatypen för den egenskap där den här Set
instruktionen deklareras.
statements
Valfritt. En eller flera instruktioner som körs när egenskapsproceduren Set
anropas.
End Set
Obligatoriska. Avslutar definitionen av egenskapsproceduren Set
.
Kommentarer
Varje egenskap måste ha en Set
egenskapsprocedur om inte egenskapen har markerats ReadOnly
. Proceduren Set
används för att ange värdet för egenskapen.
Visual Basic anropar automatiskt en egenskaps procedur när en tilldelningsinstruktor Set
ger ett värde som ska lagras i egenskapen.
Visual Basic skickar en parameter till proceduren Set
under egenskapstilldelningar. Om du inte anger en parameter för Set
använder den integrerade utvecklingsmiljön (IDE) en implicit parameter med namnet value
. Parametern innehåller det värde som ska tilldelas egenskapen. Du lagrar vanligtvis det här värdet i en privat lokal variabel och returnerar det när proceduren Get
anropas.
Brödtexten i egenskapsdeklarationen kan endast innehålla egenskapens och Set
procedurerna mellan egenskapsutdraget Get
och -instruktionenEnd Property
. Den kan inte lagra något annat än dessa procedurer. I synnerhet kan den inte lagra egenskapens aktuella värde. Du måste lagra det här värdet utanför egenskapen, för om du lagrar det i någon av egenskapsprocedurerna kan den andra egenskapsproceduren inte komma åt det. Den vanliga metoden är att lagra värdet i en privat variabel som deklareras på samma nivå som egenskapen. Du måste definiera en Set
procedur i egenskapen som den gäller för.
Proceduren Set
är standard för åtkomstnivån för dess innehållande egenskap såvida du inte använder accessmodifier
i -instruktionen Set
.
Regler
Blandade åtkomstnivåer. Om du definierar en skrivskyddad egenskap kan du ange en annan åtkomstnivå för antingen proceduren
Get
Set
eller , men inte båda. Om du gör det måste åtkomstnivån för proceduren vara mer restriktiv än egenskapens åtkomstnivå. Om egenskapen till exempel deklarerasFriend
kan du deklarera procedurenSet
Private
, men intePublic
.Om du definierar en
WriteOnly
egenskap representerar procedurenSet
hela egenskapen. Du kan inte deklarera en annan åtkomstnivå förSet
, eftersom det skulle ange två åtkomstnivåer för egenskapen.
Funktionssätt
Returnerar från en egenskapsprocedur. När proceduren
Set
återgår till den anropande koden fortsätter körningen att följa instruktionen som angav värdet som ska lagras.Set
egenskapsprocedurer kan returneras med antingen returutdraget eller exit-instruktionen.Instruktionen
Exit Property
ochReturn
orsakar ett omedelbart utträde från en egenskapsprocedur. Valfritt antalExit Property
ochReturn
instruktioner kan visas var som helst i proceduren och du kan blandaExit Property
ochReturn
instruktioner.
Exempel
I följande exempel används -instruktionen Set
för att ange värdet för en egenskap.
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