Condividi tramite


Istruzione Get

Dichiara una Get routine di proprietà utilizzata per recuperare il valore di una proprietà.

Sintassi

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

Parti

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

- Protetto
- Amico
- Privato
- Protected Friend

Vedere Livelli di accesso in Visual Basic.
statements Opzionale. Una o più istruzioni eseguite quando viene chiamata la Get routine di proprietà.
End Get Obbligatorio. Termina la definizione della routine di Get proprietà.

Osservazioni:

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

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

Il corpo della dichiarazione di proprietà può contenere solo le routine e Set della Get proprietà tra l'istruzione Property e l'istruzione End Property . Non può archiviare elementi diversi da tali procedure. In particolare, non può archiviare il valore corrente della proprietà. È necessario archiviare questo valore 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 Get routine all'interno della proprietà a cui si applica.

Per impostazione predefinita, la Get routine viene impostata sul livello di accesso della proprietà contenitore, a meno che non venga utilizzata accessmodifier nell'istruzione Get .

Regole

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

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

  • Tipo restituito. L'istruzione Property può dichiarare il tipo di dati del valore restituito. La Get routine 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

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

    Get le routine property 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 Function.

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

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

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

    Nell'esempio seguente vengono illustrati due modi in cui la proprietà quoteForTheDay di sola lettura può restituire il valore contenuto nella variabile quoteValueprivata .

    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

Vedere anche