Dela via


Hämta instruktion

Deklarerar en Get egenskapsprocedur som används för att hämta värdet för en egenskap.

Syntax

[ <attributelist> ] [ accessmodifier ] Get()  
    [ statements ]  
End Get  

Delar

Period Definition
attributelist Valfritt. Se Attributlista.
accessmodifier Valfri på högst en av - och-uttrycken GetSet i den här egenskapen. Kan vara något av följande:

- Skyddade
- Vän
- Privat
- Protected Friend

Se Åtkomstnivåer i Visual Basic.
statements Valfritt. En eller flera instruktioner som körs när egenskapsproceduren Get anropas.
End Get Obligatoriska. Avslutar definitionen av egenskapsproceduren Get .

Kommentarer

Varje egenskap måste ha en Get egenskapsprocedur om inte egenskapen har markerats WriteOnly. Proceduren Get används för att returnera egenskapens aktuella värde.

Visual Basic anropar automatiskt en egenskaps Get procedur när ett uttryck begär egenskapens värde.

Brödtexten i egenskapsdeklarationen kan endast innehålla egenskapens och Set procedurerna mellan egenskapsutdraget Get och -instruktionenEnd Property. Den kan inte lagra något annat än dessa procedurer. I synnerhet kan den inte lagra egenskapens aktuella värde. Du måste lagra det här värdet utanför egenskapen, för om du lagrar det i någon av egenskapsprocedurerna kan den andra egenskapsproceduren inte komma åt det. Den vanliga metoden är att lagra värdet i en privat variabel som deklareras på samma nivå som egenskapen. Du måste definiera en Get procedur i egenskapen som den gäller för.

Proceduren Get är standard för åtkomstnivån för dess innehållande egenskap såvida du inte använder accessmodifier i -instruktionen Get .

Regler

  • Blandade åtkomstnivåer. Om du definierar en skrivskyddad egenskap kan du ange en annan åtkomstnivå för antingen proceduren GetSet eller , men inte båda. Om du gör det måste åtkomstnivån för proceduren vara mer restriktiv än egenskapens åtkomstnivå. Om egenskapen till exempel deklareras Friendkan du deklarera proceduren GetPrivate, men inte Public.

    Om du definierar en ReadOnly egenskap representerar proceduren Get hela egenskapen. Du kan inte deklarera en annan åtkomstnivå för Get, eftersom det skulle ange två åtkomstnivåer för egenskapen.

  • Returtyp. Egenskapsinstrukturen kan deklarera datatypen för det värde som returneras. Proceduren Get returnerar automatiskt den datatypen. Du kan ange valfri datatyp eller namnet på en uppräkning, struktur, klass eller gränssnitt.

    Om instruktionen Property inte anger returntypereturnerar Objectproceduren .

Funktionssätt

  • Returnerar från en procedur. När proceduren Get återgår till anropskoden fortsätter körningen i -instruktionen som begärde egenskapsvärdet.

    Getegenskapsprocedurer kan returnera ett värde med antingen returutdraget eller genom att tilldela returvärdet till egenskapsnamnet. Mer information finns i "Returvärde" i funktionsinstrukturen.

    Instruktionen Exit Property och Return orsakar ett omedelbart utträde från en egenskapsprocedur. Valfritt antal Exit Property och Return instruktioner kan visas var som helst i proceduren och du kan blanda Exit Property och Return instruktioner.

  • Returvärde. Om du vill returnera ett värde från en Get procedur kan du antingen tilldela värdet till egenskapsnamnet eller inkludera det i en retursats. Instruktionen Return tilldelar samtidigt procedurens Get returvärde och avslutar proceduren.

    Om du använder Exit Property utan att tilldela ett värde till egenskapsnamnet Get returnerar proceduren standardvärdet för egenskapens datatyp. Mer information finns i "Returvärde" i funktionsinstrukturen.

    I följande exempel visas två sätt som den skrivskyddade egenskapen quoteForTheDay kan returnera värdet som finns i den privata variabeln quoteValue.

    Private quoteValue As String = "No quote assigned yet."
    
    ReadOnly Property QuoteForTheDay() As String
        Get
            QuoteForTheDay = quoteValue
            Exit Property
        End Get
    End Property
    
    ReadOnly Property QuoteForTheDay() As String
        Get
            Return quoteValue
        End Get
    End Property
    

Exempel

I följande exempel används -instruktionen Get för att returnera värdet för en egenskap.

Class propClass
    ' Define a private local variable to store the property value.
    Private currentTime As String
    ' Define the read-only property.
    Public ReadOnly Property DateAndTime() As String
        Get
            ' The Get procedure is called automatically when the
            ' value of the property is retrieved.
            currentTime = CStr(Now)
            ' Return the date and time As a string.
            Return currentTime
        End Get
    End Property
End Class

Se även