Procedury vlastnosti (Visual Basic)

Vlastnost postup je řada Visual Basic příkazy, které pracují s vlastní vlastnosti modulu, třídy nebo struktury.Vlastnost postupy jsou známé také jako přístupové objekty vlastnosti.

Visual Basicposkytuje pokyny pro následující vlastnosti:

  • A Get procedura vrací hodnotu vlastnosti.Je volána při přístupu k vlastnosti ve výrazu.

  • A Set postup nastaví vlastnost na hodnotu, včetně odkaz na objekt.Je volána, když přiřadíte hodnotu vlastnosti.

Obvykle definují vlastnosti postupy ve dvojicích, použití Get a Set příkazy, ale můžete definovat buď postup, pouze pokud je vlastnost určena jen pro čtení (Get – příkaz) nebo jen pro zápis (Set – příkaz (Visual Basic)).

Můžete vynechat Get a Set postup při použití automaticky implementovanou vlastnost.Další informace naleznete v tématu Automaticky implementované vlastnosti (Visual Basic).

Definovat vlastnosti do třídy, struktury a moduly.Vlastnosti jsou Public ve výchozím nastavení, což znamená, volat je z kteréhokoli místa v aplikaci, které mohou získat přístup k vlastnosti kontejneru.

Porovnání vlastností a proměnných naleznete v tématu Rozdíly mezi vlastnostmi a proměnnými v jazyce Visual Basic.

Syntaxe deklarace

Samotné vlastnosti je definována bloku kódu, které jsou uzavřeny Property – příkaz a End Property prohlášení.Uvnitř tohoto bloku se zobrazí každý postup vlastnost jako vnitřní blok, uzavřené v rámci příkazu prohlášení (Get nebo Set) a odpovídajícím End prohlášení.

Syntaxe pro deklarování vlastnost a její postupy je následující:

[Default] [Modifiers] Property PropertyName[(ParameterList)] [As DataType]
    [AccessLevel] Get
        ' Statements of the Get procedure.
        ' The following statement returns an expression as the property's value.
        Return Expression
    End Get
    [AccessLevel] Set[(ByVal NewValue As DataType)]
        ' Statements of the Set procedure.
        ' The following statement assigns newvalue as the property's value.
        LValue = NewValue
    End Set
End Property
- or -
[Default] [Modifiers] Property PropertyName [(ParameterList)] [As DataType]

Modifiers Lze určit úroveň přístupu a informací týkajících se přetížení, přepsání, sdílení a stínování, a zda je vlastnost jen pro čtení nebo jen pro zápis.AccessLevel Na Get nebo Set procedura může být úroveň, která je více omezující než úroveň přístupu, který je určen pro samotné vlastnosti.Další informace naleznete v tématu Property – příkaz.

Typ dat

Na vlastnost datový typ a úroveň zabezpečení přístupu jsou definovány v Property příkaz není v postupech vlastnost.Vlastnost může mít pouze jednoho datového typu.Například nelze definovat vlastnost, kterou chcete uložit Decimal hodnotu, ale načíst Double hodnotu.

Úroveň přístupu

Však můžete definovat úroveň přístupu hlavní vlastnosti a dále omezit úroveň přístupu v jednom z jeho vlastností postupy.Například můžete definovat Public vlastnost a pak definovat Private Set postupu.Get Postupu zůstane Public.Můžete změnit úroveň přístupu pouze v jednom postupy vlastnosti a pouze jej lze vytvořit více omezující než úroveň zabezpečení přístupu.Další informace naleznete v tématu Postupy: Deklarace vlastnosti se smíšenými úrovněmi přístupu (Visual Basic).

Deklarace parametru

Deklarovat stejným způsobem, jako je tomu u každého parametru Sub – procedury (Visual Basic), s tím rozdílem, že musí být mechanismus předávání ByVal.

Syntaxe pro každý parametr v seznamu parametrů je následující:

[Optional] ByVal [ParamArray] parametername As datatype

Je-li parametr vynechán, je třeba zadat výchozí hodnotu jako součást své prohlášení.Syntaxe pro určení výchozí hodnoty je následující:

Optional ByVal parametername As datatype = defaultvalue

Hodnota vlastnosti

V Get postupu, vrácená hodnota je součástí volání výrazu jako hodnoty vlastnosti.

V Set postup, nová hodnota vlastnosti je předána parametru Set prohlášení.Je-li explicitně deklarovat parametr, je třeba je deklarovat stejného datového typu jako vlastnost.Pokud nelze deklarovat parametr, kompilátor používá implicitní parametr Value představující novou hodnotu vlastnosti přiřadit.

Syntaxe volání

Můžete vyvolat vlastnosti proceduru implicitně tím, že odkaz na vlastnost.Můžete použít název vlastnosti stejným způsobem, jako byste použili název proměnné, s tím rozdílem, že je nutné zadat hodnoty pro všechny argumenty, které jsou nepovinné a v seznamu argumentů je nutné uzavřít do závorek.Pokud jsou dodávány žádné argumenty, můžete volitelně vynechat závorky.

Syntaxe pro implicitní volání Set postup je následující:

propertyname[(argumentlist)] = expression

Syntaxe pro implicitní volání Get postup je následující:

lvalue = propertyname[(argumentlist)]

Do While (propertyname[(argumentlist)] > expression)

Obrázek prohlášení a volání

Následující vlastnost ukládá celé jméno jako dvě použité názvy, křestní jméno a příjmení.Pokud volající kód přečte fullName, Get postupu spojuje dva názvy složek a vrátí úplný název.Pokud volající kód přiřadí nový úplný název Set postupu se pokusí rozdělit na dvě základní názvy.Pokud nenajde místo, uloží ji jako křestní jméno.

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

Následující příklad ukazuje typické volání procedur vlastnost z fullName.

fullName = "MyFirstName MyLastName"
MsgBox(fullName)

Viz také

Úkoly

Postupy: Vytvoření vlastnosti (Visual Basic)

Postupy: Volání procedury vlastnosti (Visual Basic)

Postupy: Deklarace a volání výchozí vlastnosti v jazyce Visual Basic

Postupy: Vložení hodnoty do vlastnosti (Visual Basic)

Postupy: Získání hodnoty z vlastnosti (Visual Basic)

Koncepty

Procedury v jazyce Visual Basic

Procedury funkcí (Visual Basic)

Procedury operátoru (Visual Basic)

Parametry a argumenty procedury (Visual Basic)

Rozdíly mezi vlastnostmi a proměnnými v jazyce Visual Basic