Egenskapsutdrag
Deklarerar namnet på en egenskap och de egenskapsprocedurer som används för att lagra och hämta värdet för egenskapen.
Syntax
[ <attributelist> ] [ Default ] [ accessmodifier ]
[ propertymodifiers ] [ Shared ] [ Shadows ] [ ReadOnly | WriteOnly ] [ Iterator ]
Property name ( [ parameterlist ] ) [ As returntype ] [ Implements implementslist ]
[ <attributelist> ] [ accessmodifier ] Get
[ statements ]
End Get
[ <attributelist> ] [ accessmodifier ] Set ( ByVal value As returntype [, parameterlist ] )
[ statements ]
End Set
End Property
- or -
[ <attributelist> ] [ Default ] [ accessmodifier ]
[ propertymodifiers ] [ Shared ] [ Shadows ] [ ReadOnly | WriteOnly ]
Property name ( [ parameterlist ] ) [ As returntype ] [ Implements implementslist ]
Delar
attributelist
Valfritt. Lista över attribut som gäller för den här egenskapen eller
Get
procedurenSet
. Se Attributlista.Default
Valfritt. Anger att den här egenskapen är standardegenskapen för den klass eller struktur som den definieras för. Standardegenskaper måste acceptera parametrar och kan anges och hämtas utan att ange egenskapsnamnet. Om du deklarerar egenskapen som
Default
kan du inte användaPrivate
på egenskapen eller på någon av dess egenskapsprocedurer.accessmodifier
Valfritt för -instruktionen
Property
och på högst en av - ochSet
-uttryckenGet
. Kan vara något av följande:propertymodifiers
Valfritt. Kan vara något av följande:
MustOverride Overrides
NotOverridable Overrides
Shared
Valfritt. Se Delat.
Shadows
Valfritt. Se Skuggor.
ReadOnly
Valfritt. Se ReadOnly.
WriteOnly
Valfritt. Se WriteOnly.
Iterator
Valfritt. Se Iterator.
name
Obligatoriskt. Namnet på egenskapen. Se Deklarerade elementnamn.
parameterlist
Valfritt. Lista över lokala variabelnamn som representerar parametrarna för den här egenskapen och möjliga ytterligare parametrar för proceduren
Set
. Se Parameterlista.returntype
Krävs om
Option Strict
ärOn
. Datatyp för värdet som returneras av den här egenskapen.Implements
Valfritt. Anger att den här egenskapen implementerar en eller flera egenskaper, var och en definierad i ett gränssnitt som implementeras av den här egenskapens innehållande klass eller struktur. Se Implementeringsinstruktor.
implementslist
Krävs om
Implements
anges. Lista över egenskaper som implementeras.implementedproperty [ , implementedproperty ... ]
Var
implementedproperty
och en har följande syntax och delar:interface.definedname
Delvis beskrivning interface
Obligatoriskt. Namnet på ett gränssnitt som implementeras av den här egenskapen innehåller klass eller struktur. definedname
Obligatoriskt. Namn med vilket egenskapen definieras i interface
.Get
Valfritt. Krävs om egenskapen är markerad
ReadOnly
. Startar enGet
egenskapsprocedur som används för att returnera värdet för egenskapen. -instruktionenGet
används inte med automatiskt implementerade egenskaper.statements
Valfritt. Block med instruktioner som ska köras inom proceduren
Get
ellerSet
.End Get
Avslutar egenskapsproceduren
Get
.Set
Valfritt. Krävs om egenskapen är markerad
WriteOnly
. Startar enSet
egenskapsprocedur som används för att lagra värdet för egenskapen. -instruktionenSet
används inte med automatiskt implementerade egenskaper.End Set
Avslutar egenskapsproceduren
Set
.End Property
Avslutar definitionen av den här egenskapen.
Kommentarer
-instruktionen Property
introducerar deklarationen av en egenskap. En egenskap kan ha en Get
procedur (skrivskyddad), en Set
procedur (endast skrivning) eller båda (skrivskyddad). Du kan utelämna proceduren Get
och Set
när du använder en automatiskt implementerad egenskap. Mer information finns i Automatiskt implementerade egenskaper.
Du kan bara använda Property
på klassnivå. Det innebär att deklarationskontexten för en egenskap måste vara en klass, struktur, modul eller gränssnitt och får inte vara en källfil, ett namnområde, en procedur eller ett block. Mer information finns i Deklarationskontexter och standardåtkomstnivåer.
Som standard använder egenskaper offentlig åtkomst. Du kan justera en egenskaps åtkomstnivå med en åtkomstmodifierare på -instruktionen Property
, och du kan också justera en av dess egenskapsprocedurer till en mer restriktiv åtkomstnivå.
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
. Den här 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.
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
ReadOnly
ellerWriteOnly
-egenskap representerar den enskilda egenskapsproceduren (Get
respektiveSet
) hela egenskapen. Du kan inte deklarera en annan åtkomstnivå för en sådan procedur eftersom det skulle ange två åtkomstnivåer för egenskapen.Returtyp. -instruktionen
Property
kan deklarera datatypen för det värde som returneras. Du kan ange valfri datatyp eller namnet på en uppräkning, struktur, klass eller gränssnitt.Om du inte anger
returntype
returnerarObject
egenskapen .Genomförande. Om den här egenskapen använder nyckelordet
Implements
måste den innehållande klassen eller strukturen ha enImplements
instruktion omedelbart efter dessClass
ellerStructure
-instruktionen. InstruktionenImplements
måste innehålla varje gränssnitt som anges iimplementslist
. Det namn med vilket ett gränssnitt definierarProperty
(idefinedname
) behöver dock inte vara samma som namnet på den här egenskapen (iname
).
Funktionssätt
Returnerar från en egenskapsprocedur. När proceduren
Get
ellerSet
återgår till den anropande koden fortsätter körningen med -instruktionen efter -instruktionen som anropade den.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.Returvärde. Om du vill returnera ett värde från en
Get
procedur kan du antingen tilldela värdet till egenskapsnamnet eller inkludera det i enReturn
-instruktion. I följande exempel tilldelas returvärdet till egenskapsnamnetquoteForTheDay
och använder sedan -instruktionenExit Property
för att returnera.Private quoteValue As String = "No quote assigned yet."
ReadOnly Property QuoteForTheDay() As String Get QuoteForTheDay = quoteValue Exit Property End Get End Property
Om du använder
Exit Property
utan att tilldela ett värde tillname
Get
returnerar proceduren standardvärdet för egenskapens datatyp.-
Return
instruktionen tilldelar samtidigt procedurensGet
returvärde och avslutar proceduren. Följande exempel visar detta.Private quoteValue As String = "No quote assigned yet."
ReadOnly Property QuoteForTheDay() As String Get Return quoteValue End Get End Property
Exempel
I följande exempel deklareras en egenskap i en klass.
Class Class1
' Define a local variable to store the property value.
Private propertyValue As String
' Define the property.
Public Property Prop1() As String
Get
' The Get property procedure is called when the value
' of a property is retrieved.
Return propertyValue
End Get
Set(ByVal value As String)
' The Set property procedure is called when the value
' of a property is modified. The value to be assigned
' is passed in the argument to Set.
propertyValue = value
End Set
End Property
End Class