Sdílet prostřednictvím


Automaticky implementované vlastnosti (Visual Basic)

Automaticky implementovány vlastnosti umožňují rychle určit vlastnost třídy bez nutnosti psát kód pro Get a Set vlastnosti.Při psaní kódu pro vlastnost automaticky implementovány kompilátoru Visual Basic automaticky vytvoří pole private uložit vlastnost proměnné k vytvoření přidruženého Get a Set postupy.

Prováděny automatické vlastnosti lze deklarovat vlastnosti, včetně výchozí hodnotu v jednom řádku.Následující příklad ukazuje tři vlastnosti prohlášení.

Public Property Name As String 
Public Property Owner As String = "DefaultName" 
Public Property Items As New List(Of String) From {"M", "T", "W"}
Public Property ID As New Guid()

Vlastnost automaticky implementovány odpovídá vlastnosti, pro které je uložena hodnota vlastnosti soukromé pole.Následující příklad kódu ukazuje vlastnost automaticky implementovány.

Property Prop2 As String = "Empty"

Následující příklad kódu ukazuje ekvivalentní kód pro předchozí příklad automaticky implementovat vlastnost.

Private _Prop2 As String = "Empty" 
Property Prop2 As String 
    Get 
        Return _Prop2
    End Get 
    Set(ByVal value As String)
        _Prop2 = value
    End Set 
End Property

Zálohování pole

Při deklarování automaticky implementovat vlastnost jazyka Visual Basic automaticky vytvoří skryté pole private nazývá zálohování pole obsahovat hodnotu vlastnosti.Název pole zálohování je automaticky implementovat vlastnost název předchází znak podtržení (_).Například deklarovat automaticky implementovat vlastnost pojmenovanou ID, zálohování pole s názvem _ID.Pokud obsahují člen třídy, který se nazývá také _ID, vést ke konfliktu názvů a Visual Basic hlásí chybu kompilátoru.

Zálohování pole má také následující vlastnosti:

  • Modifikátor přístupu pro pole zálohování je vždy Private, i když má vlastnost, samotný přístup jiné úrovni, například Public.

  • Pokud je vlastnost označen jako Shared, také sdílené pole zálohování.

  • Atributy určené pro vlastnost nevztahuje na poli zálohování.

  • Pole zálohování lze přistupovat z kódu v rámci třídy a ladicí nástroje, jako je například okno kukátka.Však zálohování pole zobrazovat seznam IntelliSense ukončení aplikace word.

Inicializace automaticky implementovat vlastnost

Jakýkoli výraz, který slouží k inicializaci pole je platné pro inicializaci vlastnost automaticky implementovány.Při můžete inicializovat vlastnost automaticky implementovat, je výraz vyhodnocen a předány Set postup pro vlastnost.Následující příklady kódu ukazují některé prováděny automatické vlastnosti, které obsahují počáteční hodnoty.

Property FirstName As String = "James" 
Property PartNo As Integer = 44302
Property Orders As New List(Of Order)(500)

Nelze inicializovat vlastnost automaticky implementovány, který je členem Interface, který je označen MustOverride.

Při deklarování vlastnost automaticky implementovány jako člen Structure, pouze inicializovat vlastnost provedena automaticky, pokud je označen jako Shared.

Při deklarování vlastnost automaticky implementovány jako pole nelze zadat explicitní array hranice.Pomocí inicializátor pole, můžete však zadat hodnotu podle následujících příkladů.

Property Grades As Integer() = {90, 73}
Property Temperatures As Integer() = New Integer() {68, 54, 71}

Definice vlastností, které vyžadují standardní syntaxe

Automaticky implementovány vlastnosti jsou pohodlné a podporuje mnoho scénářů programování.Existují však situace, ve kterých nelze použít vlastnost provedena automaticky a použijte standardní, nebo Rozšířené, syntaxi vlastností.

Máte rozšířená definice vlastnosti syntaxi použít, pokud chcete provést některou z následujících:

  • Přidat kód a Get nebo Set vlastnosti, jako je například kód ověřit příchozí hodnoty v postupu Set postup.Můžete například ověřit, zda obsahuje řetězec, který představuje telefonní číslo požadovaného počtu číslic před nastavením hodnoty vlastnosti.

  • Určit různé usnadnění přístupu pro Get a Set postup.Chcete-li například, aby Set postup Private a Get postup Public.

  • Vytvoření vlastností, které jsou WriteOnly nebo ReadOnly.

  • Použití parametrizované vlastností (včetně Default vlastnosti).Rozšířené vlastnosti musíte deklarovat, s cílem určit parametr pro vlastnost nebo zadat další parametry Set postup.

  • Atribut umístit pole zálohování nebo změnit úroveň přístupu pole zálohování.

  • Zadejte komentář XML pro pole zálohování.

Vlastnost prováděny automatické rozbalování

Máte převést na rozšířenou vlastnost, která obsahuje vlastnost automaticky implementovány Get nebo Set postup, Editor kódu jazyka Visual Basic lze automaticky generovat Get a Set postupy a End Property příkaz Vlastnosti.Kód je generována, pokud umístíte kurzor na následující prázdný řádek Property prohlášení, typ a g (pro Get) nebo s (pro Set) a stiskněte klávesu ENTER.Automaticky generuje kód editoru jazyka Visual Basic Get nebo Set postup pro vlastnosti určené jen pro čtení a zápis pouze při stisknutí klávesy ENTER na konci Property prohlášení.

Viz také

Úkoly

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

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

Referenční dokumentace

Property – příkaz

ReadOnly (Visual Basic)

WriteOnly (Visual Basic)

Další zdroje

Objekty a třídy v jazyce Visual Basic