Megosztás a következőn keresztül:


Útmutató: Tulajdonság létrehozása (Visual Basic)

A tulajdonságdefiníciót a Property és End Property utasítások közé zárja be. Ebben a definícióban meghatározhat egy Get eljárást, egy Set eljárást, vagy mindkettőt. Az összes tulajdonságkód ezen eljárásokon belül található.

Az Get eljárás lekéri a tulajdonság értékét, és az Set eljárás egy értéket tárol. Ha azt szeretné, hogy a tulajdonság olvasási/írási hozzáféréssel rendelkezzen, mindkét eljárást meg kell határoznia. Olvasásra csak tulajdonság esetén csak Get, írásra csak tulajdonság esetén pedig csak Set.

Tulajdonság létrehozása

  1. Bármely tulajdonságon vagy eljáráson kívül használjon Tulajdonság Nyilatkozatot, majd egy End Property utasítást.

  2. Ha a tulajdonság paramétereket vesz fel, kövesse a Property kulcsszót az eljárás nevével, majd zárójelben adja meg a paraméterlistát.

  3. Kövesse a zárójeleket egy As záradékkal a tulajdonság értékének adattípusának megadásához. Az adattípust csak írásra szánt tulajdonság esetén is meg kell adnia.

  4. Szükség szerint adjon hozzá Get és Set eljárásokat. Tekintse meg az alábbi utasításokat.

Tulajdonságértéket beolvasó Get eljárás létrehozása

  1. A Property és End Property utasítások között írjon be egy Get utasítást, majd egy End Get utasítást. Az Get eljáráshoz nem kell paramétereket megadnia.

  2. Helyezze el a kódkivonatokat a tulajdonság értékének lekéréséhez a Get és End Get utasítások között. Ez a kód a tulajdonság értékének generálása és visszaadása mellett más számításokat és adatmanipulációkat is tartalmazhat.

  3. Return Az utasítással visszaadhatja a tulajdonság értékét a hívó kódnak.

Meg kell írnia egy Get eljárást egy olvasás-írás tulajdonsághoz és egy írásvédett tulajdonsághoz. Írásvédett tulajdonsághoz nem definiálhat Get eljárást.

Beállítási eljárás létrehozása egy tulajdonság értékének megírásához

  1. A Property és End Property utasítások között írjon be egy Set Utasítást, majd egy utasítást End Set.

  2. Az Set utasításban opcionálisan kövesse a Set kulcsszót egy paraméterlistával zárójelben. Ha a paraméterlista nem jelenik meg vagy üres, a rendszer definiál egy implicit paramétert Value , amelynek típusa maga a tulajdonság típusa. Ha a paraméterlista nem üres, szükség esetén másik nevet is használhat, de a paraméternek ugyanazzal az adattípussal kell rendelkeznie, mint maga a tulajdonság.

  3. Helyezze el a kódutasításokat, amelyek egy érték tárolását biztosítják a tulajdonságban, a Set és End Set utasítások közé. Ez a kód a tulajdonság értékének érvényesítése és tárolása mellett más számításokat és adatmanipulációkat is tartalmazhat.

  4. Az értékparaméter használatával fogadja el a hívókód által megadott értéket. Ezt az értéket közvetlenül egy hozzárendelési utasításban tárolhatja, vagy egy kifejezésben használhatja a tárolni kívánt belső érték kiszámításához.

Meg kell írnia egy Set eljárást egy olvasási-írási tulajdonsághoz és egy csak írási tulajdonsághoz. Nem definiálhat Set eljárást írásvédett tulajdonsághoz.

példa

Az alábbi példa egy olvasási/írási tulajdonságot hoz létre, amely a teljes nevet két összetevőnévként tárolja, az utónevet és a vezetéknevet. Amikor a hívó kód beolvassa fullName, az Get eljárás egyesíti a két összetevőnevet, és visszaadja a teljes nevet. Amikor a hívó kód új teljes nevet rendel hozzá, az Set eljárás megpróbálja két összetevőnévre bontani. Ha nem talál szóközt, az összeset keresztnévként tárolja.

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

Az alábbi példa a tulajdonság eljárásainak tipikus hívásait fullNamemutatja be. Az első hívás beállítja a tulajdonság értékét, a második hívás pedig lekéri azt.

fullName = "MyFirstName MyLastName"
MsgBox(fullName)

Lásd még