Istruzione Get

Dichiara una routine della proprietà Get usata per recuperare il valore da una proprietà.

Sintassi

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

Parti

Termine Definizione
attributelist Facoltativo. Vedere Elenco degli attributi.
accessmodifier Facoltativo per al massimo una delle istruzioni Get e Set in questa proprietà. Può essere uno dei seguenti:

- Protected
- Friend
- Privata
- Protected Friend

Vedere Access levels in Visual Basic.
statements Facoltativo. Una o più istruzioni in esecuzione quando viene chiamata la routine della proprietà Get.
End Get Obbligatorio. Termina la definizione della routine della proprietà Get.

Osservazioni:

Ogni proprietà deve avere una routine della proprietà Get a meno che la proprietà non sia contrassegnata come WriteOnly. La routine Get viene utilizzata per restituire il valore corrente della proprietà.

Visual Basic chiama automaticamente la routine della proprietà Get quando un'espressione richiede il valore della proprietà.

Il corpo della dichiarazione di proprietà può contenere solo le routine Get e Set della proprietà tra l'istruzione Proprietà e l'istruzione End Property. Non può archiviare elementi diversi da tali routine. In particolare, non può archiviare il valore corrente della proprietà. Questo valore deve essere archiviato all'esterno della proprietà: perché se viene archiviato all'interno di una delle routine di proprietà, l'altra routine di proprietà non può accedervi. L'approccio consueto consiste nell'archiviare il valore in una variabile Privata dichiarata allo stesso livello della proprietà. È necessario definire una routine Get all'interno della proprietà a cui si applica.

La routine Get è per impostazione predefinita sul livello di accesso della proprietà contenitore, a meno che non si utilizzi accessmodifier nell'istruzione Get.

Regole

  • Livelli di accesso misti. Se si sta definendo una proprietà di lettura/scrittura, è possibile specificare facoltativamente un livello di accesso diverso per la routine Get o per la Set, ma non per entrambe. In questo caso, il livello di accesso della routine deve essere più restrittivo del livello di accesso della proprietà. Ad esempio, se la proprietà è dichiarata Friend, è possibile dichiarare la routine Get come Private, ma non Public.

    Se si definisce una proprietà ReadOnly, la routine Get rappresenta l'intera proprietà. Non è possibile dichiarare un livello di accesso diverso per Get, perché in questo modo per la proprietà verranno impostati due livelli di accesso.

  • Tipo restituito. L'istruzione Proprietà può dichiarare il tipo di dati del valore che restituisce. La routine Get restituisce automaticamente il tipo di dati. È possibile specificare qualsiasi tipo di dati o il nome di un'enumerazione, struttura, classe o interfaccia.

    Se l'istruzione Property non specifica returntype, la routine restituisce Object.

Comportamento

  • Termine di una routine. Quando la routine Get torna al codice chiamante, l'esecuzione prosegue all'interno dell'istruzione che ha richiesto il valore della proprietà.

    Le routine della proprietà Get possono restituire un valore utilizzando l'istruzione return o assegnando il valore restituito al nome della proprietà. Per altre informazioni, vedere "Valore restituito" nell'istruzione Funzione.

    Le istruzioni Exit Property e Return determinano un'uscita immediata da una routine della proprietà. Qualsiasi numero di istruzioni Exit Property e Return può essere visualizzato in qualsiasi punto della routine, ed è possibile combinare le istruzioni Exit Property e Return.

  • Valore restituito. Per restituire un valore da una routine Get, è possibile assegnare il valore al nome della proprietà o includerlo in un'istruzione Return. L'istruzione Return assegna simultaneamente il valore restituito della routine Get ed esce dalla stessa.

    Se si utilizza Exit Property senza assegnare un valore al nome della proprietà, la routine Get restituisce il valore predefinito per il tipo di dati della proprietà. Per altre informazioni, vedere "Valore restituito" nell'istruzione Funzione.

    Nell'esempio seguente vengono descritti due modi in cui la proprietà di sola lettura quoteForTheDay può restituire il valore contenuto nella variabile privata 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
    

Esempio

Nell'esempio seguente viene utilizzata l'istruzione Get per restituire il valore di una proprietà.

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

Vedi anche