Útmutató: Alapértelmezett tulajdonság deklarálása és meghívása a Visual Basicben
Az alapértelmezett tulajdonság egy osztály- vagy struktúratulajdonság, amelyhez a kód anélkül férhet hozzá, hogy megadta volna. Ha a kód egy osztályt vagy struktúrát nevez el, de tulajdonságot nem, és a környezet hozzáférést biztosít egy tulajdonsághoz, a Visual Basic feloldja az adott osztály vagy struktúra alapértelmezett tulajdonságához való hozzáférést, ha van ilyen.
Egy osztály vagy struktúra legfeljebb egy alapértelmezett tulajdonságot tartalmazhat. Azonban túlterhelhet egy alapértelmezett tulajdonságot, és több verzióval is rendelkezhet.
További információ: Alapértelmezett.
Alapértelmezett tulajdonság deklarálása
Deklarálja a tulajdonságot a szokásos módon. Ne adja meg a kulcsszót vagy
Private
a kulcsszótShared
.Adja meg a kulcsszót
Default
a tulajdonságdeklarációban.Adjon meg legalább egy paramétert a tulajdonsághoz. Nem definiálhat olyan alapértelmezett tulajdonságot, amely nem vesz igénybe legalább egy argumentumot.
Default Property myProperty(ByVal index As Integer) As String
Alapértelmezett tulajdonság meghívása
Deklaráljon egy változót a tartalmazó osztályból vagy struktúratípusból.
Dim x As New class1(3)
Használja egyedül a változó nevét egy olyan kifejezésben, amelyben általában a tulajdonság neve szerepel.
MsgBox(x)
Kövesse a változó nevét egy zárójelben lévő argumentumlistával. Az alapértelmezett tulajdonságnak legalább egy argumentumot tartalmaznia kell.
MsgBox(x(1))
Az alapértelmezett tulajdonságérték lekéréséhez használja a változó nevét egy argumentumlistával egy kifejezésben vagy egy hozzárendelési utasítás egyenlőségjelét (
=
) követve.MsgBox(x(1) & x(2) & x(3))
Az alapértelmezett tulajdonságérték beállításához használja a változó nevét egy argumentumlistával a hozzárendelési utasítás bal oldalán.
x(1) = "Hello" x(2) = " " x(3) = "World"
Az alapértelmezett tulajdonságnevet mindig megadhatja a változó nevével együtt, ugyanúgy, mint bármely más tulajdonság eléréséhez.
x.myProperty(1) = "Hello" x.myProperty(2) = " " x.myProperty(3) = "World"
1. példa
Az alábbi példa egy osztály alapértelmezett tulajdonságát deklarálja.
Public Class class1
Private myStrings() As String
Sub New(ByVal size As Integer)
ReDim myStrings(size)
End Sub
Default Property myProperty(ByVal index As Integer) As String
Get
' The Get property procedure is called when the value
' of the property is retrieved.
Return myStrings(index)
End Get
Set(ByVal Value As String)
' The Set property procedure is called when the value
' of the property is modified.
' The value to be assigned is passed in the argument
' to Set.
myStrings(index) = Value
End Set
End Property
End Class
2. példa
Az alábbi példa bemutatja, hogyan hívhatja meg az osztály class1
alapértelmezett tulajdonságátmyProperty
. A három hozzárendelési utasítás tárolja az értékeket, myProperty
és a MsgBox hívás felolvassa az értékeket.
Sub Test()
Dim x As New class1(3)
x(1) = "Hello"
x(2) = " "
x(3) = "World"
MsgBox(x(1) & x(2) & x(3))
End Sub
Az alapértelmezett tulajdonság leggyakoribb használata a Item[] különböző gyűjteményosztályok tulajdonsága.
Robusztus programozás
Az alapértelmezett tulajdonságok kis mértékben csökkenthetik a forráskódkarakterek értékét, de megnehezíthetik a kód olvasását. Ha a hívó kód nem ismeri az osztályt vagy a struktúrát, az osztály vagy a struktúra nevére való hivatkozáskor nem lehet biztos abban, hogy a hivatkozás maga az osztályhoz vagy szerkezethez fér hozzá, vagy egy alapértelmezett tulajdonsághoz. Ez fordítási hibákhoz vagy finom futásidejű logikai hibákhoz vezethet.
Némileg csökkentheti az alapértelmezett tulajdonsághibák esélyét, ha mindig az Option Strict Utasítást használja a fordítótípus-ellenőrzés On
beállításához.
Ha előre definiált osztályt vagy struktúrát szeretne használni a kódban, meg kell határoznia, hogy van-e alapértelmezett tulajdonsága, és ha igen, akkor mi a neve.
Ezen hátrányok miatt érdemes megfontolni, hogy ne határozza meg az alapértelmezett tulajdonságokat. A kód olvashatósága érdekében azt is érdemes megfontolnia, hogy mindig kifejezetten hivatkozik az összes tulajdonságra, még az alapértelmezett tulajdonságokra is.
Lásd még
- Tulajdonságeljárások
- Eljárásparaméterek és argumentumok
- Tulajdonságutasítás
- Alapértelmezett
- Különbségek a Visual Basic tulajdonságai és változói között
- Útmutató: Tulajdonság létrehozása
- Útmutató: Vegyes hozzáférési szintű tulajdonság deklarálása
- Útmutató: Tulajdonság eljárásának meghívása
- Útmutató: Érték elhelyezése egy tulajdonságban
- Útmutató: Érték lekérése egy tulajdonságból
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: