Sdílet prostřednictvím


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

A výchozí vlastnost je vlastnost třídy nebo struktury kódu přístup bez jeho zadání.Při volání kódu třídy nebo struktury, ale není vlastnost názvy a kontext umožňuje přístup k vlastnosti, Visual Basic třídy nebo struktury výchozí vlastnost řeší přístup, pokud existuje.

Třídy nebo struktury může mít nanejvýš jednu výchozí vlastnost.Můžete však přetěžování výchozí vlastnost a více než jednu verzi.

Další informace naleznete v tématu Výchozí (Visual Basic).

Deklarovat výchozí vlastnost.

  1. Vlastnost Deklarujte normálním způsobem.Nezadávejte Shared nebo Private klíčové slovo.

  2. Zahrnout Default klíčové slovo v deklaraci vlastnosti.

  3. Zadejte alespoň jeden parametr vlastnosti.Nelze definovat výchozí vlastnost, která nemá alespoň jeden argument.

    Default Property myProperty(ByVal index As Integer) As String
    

Volání výchozí vlastnost.

  1. Deklarujte proměnnou obsahující typ třídy nebo struktury.

    Dim x As New class1(3)
    
  2. Pokud by obvykle zahrnují název vlastnosti použijte ve výrazu samotný název proměnné.

    MsgBox(x)
    
  3. Podle názvu proměnné s seznam argumentů v závorkách.Výchozí vlastnost musí trvat alespoň jeden argument.

    MsgBox(x(1))
    
  4. Chcete-li obnovit výchozí hodnotu vlastnosti, použijte název proměnné s seznam argumentů, ve výrazu, nebo rovná (=) přihlásit příkazu přiřazení.

    MsgBox(x(1) & x(2) & x(3))
    
  5. Chcete-li nastavit vlastnost výchozí hodnotu pomocí názvu proměnné seznam argumentů, na levé straně příkazu přiřazení.

    x(1) = "Hello"
    x(2) = " "
    x(3) = "World"
    
  6. Výchozí název vlastnosti společně s název proměnné můžete vždy stejně jako by přístup k jiné vlastnosti.

    x.myProperty(1) = "Hello"
    x.myProperty(2) = " "
    x.myProperty(3) = "World"
    

Příklad

Následující příklad deklaruje vlastnost výchozí na třídu.

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

Následující příklad ukazuje, jak volat výchozí vlastnost myProperty pro třídu class1.Příkazy tři přiřazení ukládají hodnoty v myPropertya MsgBox volání přečte hodnoty.

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

Nejčastěji používá výchozí vlastnost Item na různé třídy kolekce vlastností.

Robustní programování

Výchozí vlastnosti může mít za následek snížení malé zdrojový kód znaků, ale mohou vytvořit kód špatně čitelné.Pokud volající kód nejsou obeznámeni s třídy nebo struktury, při odkazu na název třídy nebo struktury nemůže být určité zda tento odkaz přistupuje třídy nebo struktury, sám nebo výchozí vlastnost.To může vést k chyby kompilátoru nebo decentní logika spuštění.

Poněkud můžete snížit pravděpodobnost výchozí vlastnosti chyby pomocí vždy Option Strict – příkaz nastavení kompilátoru kontroly typu na On.

Pokud plánujete použít předdefinované třídy nebo struktury v kódu, je nutné určit, zda má výchozí vlastnost a pokud ano, co její název je.

Z důvodu těchto nevýhod zvažte není definování výchozí vlastnosti.Pro srozumitelnost kódu by měla zvážit také vždy odkazující na všechny vlastnosti explicitně, i výchozí vlastnosti.

Viz také

Úkoly

Postupy: Vytvoření vlastnosti (Visual Basic)

Postupy: Deklarace vlastnosti se smíšenými úrovněmi přístupu (Visual Basic)

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

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

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

Referenční dokumentace

Property – příkaz

Výchozí (Visual Basic)

Koncepty

Procedury vlastnosti (Visual Basic)

Parametry a argumenty procedury (Visual Basic)

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