Tulajdonságutasítás
Deklarálja egy tulajdonság nevét, valamint a tulajdonság értékének tárolására és lekérésére használt tulajdonságeljárásokat.
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 ]
Részek
attributelist
Opcionális. A tulajdonságra vagy
Get
Set
eljárásra vonatkozó attribútumok listája. Lásd: Attribútumlista.Default
Opcionális. Megadja, hogy ez a tulajdonság annak az osztálynak vagy struktúranak az alapértelmezett tulajdonsága, amelyen definiálva van. Az alapértelmezett tulajdonságoknak el kell fogadniuk a paramétereket, és a tulajdonságnév megadása nélkül is beállíthatók és lekérhetők. Ha a tulajdonságot
Default
úgy deklarálja, hogy nem használhatóPrivate
a tulajdonságon vagy annak egyik tulajdonságeljárásán.accessmodifier
Az utasításon
Property
és legfeljebb azGet
egyik utasításonSet
nem kötelező. A következők egyike lehet:Lásd a Visual Basic hozzáférési szintjeinek megtekintését.
propertymodifiers
Opcionális. A következők egyike lehet:
MustOverride Overrides
NotOverridable Overrides
Shared
Opcionális. Lásd: Megosztott.
Shadows
Opcionális. Lásd: Árnyékok.
ReadOnly
Opcionális. Lásd: ReadOnly.
WriteOnly
Opcionális. Lásd: WriteOnly.
Iterator
Opcionális. Lásd : Iterator.
name
Szükséges. A tulajdonság neve. Lásd: Deklarált elemnevek.
parameterlist
Opcionális. A tulajdonság paramétereit képviselő helyi változónevek és az
Set
eljárás lehetséges további paramétereinek listája. Lásd: Paraméterlista.returntype
Ha igen, akkor
Option Strict
kötelezőOn
megadni. A tulajdonság által visszaadott érték adattípusa.Implements
Opcionális. Azt jelzi, hogy ez a tulajdonság egy vagy több tulajdonságot implementál, amelyek mindegyike a tulajdonság osztályát vagy szerkezetét tartalmazó felületében van definiálva. Lásd: Implements Utasítás.
implementslist
Implements
Ha meg van adva, kötelező megadni. A megvalósítandó tulajdonságok listája.implementedproperty [ , implementedproperty ... ]
Mindegyik
implementedproperty
a következő szintaxist és részeket tartalmazza:interface.definedname
Része Leírás interface
Szükséges. A tulajdonság által megvalósított felület neve, amely osztályt vagy struktúrát tartalmaz. definedname
Szükséges. Az a név, amellyel a tulajdonság definiálva van. interface
Get
Opcionális. Kötelező, ha a tulajdonság meg van jelölve
ReadOnly
. Elindít egyGet
tulajdonság eljárást, amely a tulajdonság értékének visszaadására szolgál. AzGet
utasítás nem használható automatikusan implementált tulajdonságokkal.statements
Opcionális. Az eljáráson belül
Get
Set
futtatandó utasítások blokkja.End Get
Leállítja a tulajdonságeljárást
Get
.Set
Opcionális. Kötelező, ha a tulajdonság meg van jelölve
WriteOnly
. Elindít egySet
tulajdonság eljárást, amely a tulajdonság értékének tárolására szolgál. AzSet
utasítás nem használható automatikusan implementált tulajdonságokkal.End Set
Leállítja a tulajdonságeljárást
Set
.End Property
Leállítja a tulajdonság definícióját.
Megjegyzések
A Property
nyilatkozat bemutatja egy tulajdonság deklarációját. Egy tulajdonság rendelkezhet eljárással Get
(csak olvasható), eljárással Set
(írási és írási) vagy mindkettővel (írásvédett). Az automatikusan implementált tulajdonság használatakor kihagyhatja az eljárást és Set
az Get
eljárást. További információ: Automatikusan implementált tulajdonságok.
Csak osztályszinten használható Property
. Ez azt jelenti, hogy egy tulajdonság deklarációs környezetének osztálynak, struktúrának, modulnak vagy interfésznek kell lennie, és nem lehet forrásfájl, névtér, eljárás vagy blokk. További információ: Deklarációs környezetek és alapértelmezett hozzáférési szintek.
Alapértelmezés szerint a tulajdonságok nyilvános hozzáférést használnak. A tulajdonság hozzáférési szintjét egy hozzáférési módosítóval módosíthatja az Property
utasításban, és igény szerint módosíthatja az egyik tulajdonságeljárását egy szigorúbb hozzáférési szintre.
A Visual Basic átad egy paramétert az eljárásnak a Set
tulajdonság-hozzárendelések során. Ha nem ad meg paramétert, Set
az integrált fejlesztési környezet (IDE) egy implicit paramétert value
használ. Ez a paraméter tartalmazza a tulajdonsághoz rendelendő értéket. Ezt az értéket általában egy helyi magánváltozóban tárolja, és az eljárás meghívásakor Get
adja vissza.
Szabályok
Vegyes hozzáférési szintek. Ha írási-olvasási tulajdonságot határoz meg, megadhat egy másik hozzáférési szintet az eljáráshoz vagy az
Get
Set
eljáráshoz, de mindkettőhöz nem. Ha ezt teszi, az eljárás hozzáférési szintjének szigorúbbnak kell lennie, mint a tulajdonság hozzáférési szintje. Ha például a tulajdonság deklarálvaFriend
van, deklarálhatja azSet
eljárástPrivate
, de nemPublic
.Ha egy vagy több tulajdonságot
ReadOnly
határoz meg, az egyetlen tulajdonság eljárása (Get
vagySet
) az összes tulajdonságot jelöli.WriteOnly
Ilyen eljáráshoz nem deklarálhat másik hozzáférési szintet, mert ez két hozzáférési szintet állítana be a tulajdonsághoz.Visszatérési típus. Az
Property
utasítás deklarálhatja a visszaadott érték adattípusát. Bármilyen adattípust vagy enumerálás, struktúra, osztály vagy felület nevét megadhatja.Ha nem adja meg
returntype
, a tulajdonság visszaadjaObject
.Végrehajtása. Ha ez a tulajdonság a kulcsszót
Implements
használja, az azt tartalmazó osztálynak vagy struktúrának közvetlenül az utasítást követőStructure
utasítással kell rendelkeznieImplements
Class
. AzImplements
utasításnak tartalmaznia kell a megadott interfészeketimplementslist
. Az interfész által definiáltProperty
(indefinedname
) névnek azonban nem kell megegyeznie a tulajdonság nevével (inname
).
Működés
Visszatérés egy tulajdonságeljárásból. Amikor az
Get
eljárásSet
visszatér a hívó kódhoz, a végrehajtás a meghívott utasítást követő utasítással folytatódik.Az
Exit Property
ésReturn
az utasítások azonnali kilépést okoznak egy tulajdonságeljárásból. Tetszőleges számúExit Property
ésReturn
utasítás jelenhet meg az eljárás bármely pontján, és keverheti ésReturn
megadhatjaExit Property
az utasításokat.Visszaadott érték. Ha egy értéket egy eljárásból
Get
szeretne visszaadni, hozzárendelheti az értéket a tulajdonság nevéhez, vagy belefoglalhatja egyReturn
utasításba. Az alábbi példa a visszatérési értéket a tulajdonság nevéhezquoteForTheDay
rendeli, majd az utasítást használja aExit Property
visszatéréshez.Private quoteValue As String = "No quote assigned yet."
ReadOnly Property QuoteForTheDay() As String Get QuoteForTheDay = quoteValue Exit Property End Get End Property
Ha érték
name
hozzárendelése nélkül használjaExit Property
, az eljárás aGet
tulajdonság adattípusának alapértelmezett értékét adja vissza.Az
Return
utasítás ugyanakkor hozzárendeli az eljárás visszatérésiGet
értékét, és kilép az eljárásból. Az alábbi példa ezt mutatja be.Private quoteValue As String = "No quote assigned yet."
ReadOnly Property QuoteForTheDay() As String Get Return quoteValue End Get End Property
Példa
Az alábbi példa egy tulajdonságot deklarál egy osztályban.
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
Lásd még
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: