Procedura: creare una proprietà (Visual Basic)
È possibile racchiudere una definizione di proprietà tra un'istruzione Property
e un'istruzione End Property
. All'interno di questa definizione viene definita una routine Get
, una routine Set
o entrambe. Tutto il codice della proprietà si trova all'interno di queste routine.
La routine Get
recupera il valore della proprietà, mentre la routine Set
archivia un valore. Se si vuole che la proprietà abbia accesso in lettura/scrittura, è necessario definire entrambe le routine. Per una proprietà di sola lettura viene definita solo la routine Get
, mentre e per una proprietà di sola scrittura viene definita solo quella Set
.
Per creare una proprietà
All'esterno di qualsiasi proprietà o routine, usare un'istruzione Property, seguita da un'istruzione
End Property
.Se la proprietà accetta parametri, aggiungere il nome della routine dopo la parola chiave
Property
, seguito dall'elenco dei parametri tra parentesi.Dopo le parentesi aggiungere una clausola
As
per specificare il tipo di dati del valore della proprietà. È necessario specificare il tipo di dati anche per una proprietà di sola scrittura.Aggiungere le routine
Get
eSet
, in base alle esigenze. Vedere le indicazioni seguenti.
Per creare una routine Get che recupera un valore di proprietà
Tra le istruzioni
Property
eEnd Property
scrivere un'istruzione Get, seguita da un'istruzioneEnd Get
. Non è necessario definire parametri per la routineGet
.Inserire le istruzioni di codice per recuperare il valore della proprietà tra le istruzioni
Get
eEnd Get
. Questo codice può includere altri calcoli e manipolazioni dei dati oltre a generare e restituire il valore della proprietà.Usare un'istruzione
Return
per restituire il valore della proprietà al codice chiamante.
È necessario scrivere una routine Get
per una proprietà di lettura/scrittura e per una proprietà di sola lettura. Non è necessario definire una routine Get
per una proprietà di sola scrittura.
Per creare una routine Set che scrive il valore di una proprietà
Tra le istruzioni
Property
eEnd Property
scrivere un'istruzione Set, seguita da un'istruzioneEnd Set
.Nell'istruzione
Set
è possibile aggiungere facoltativamente un elenco di parametri tra parentesi dopo la parola chiaveSet
. Se l'elenco di parametri non è presente o è vuoto, viene definito un parametro implicito denominatoValue
, il cui tipo è il tipo della proprietà stessa. Se l'elenco di parametri non è vuoto, è possibile usare un nome diverso, se opportuno, purché il tipo di dati del parametro sia lo stesso della proprietà stessa.Inserire le istruzioni di codice per archiviare un valore nella proprietà tra le istruzioni
Set
eEnd Set
. Questo codice può includere altri calcoli e manipolazioni dei dati oltre a convalidare e archiviare il valore della proprietà.Usare il parametro Value per accettare il valore fornito dal codice chiamante. È possibile archiviare questo valore direttamente in un'istruzione di assegnazione oppure in un'espressione per calcolare il valore interno da archiviare.
È necessario scrivere una routine Set
per una proprietà di lettura/scrittura e per una proprietà di sola scrittura. Non è necessario definire una routine Set
per una proprietà di sola lettura.
Esempio
Nell'esempio seguente viene creata una proprietà di lettura/scrittura che archivia un nome completo come due nomi costituenti, il nome e il cognome. Quando il codice chiamante legge fullName
, la routine Get
combina i due nomi costituenti e restituisce il nome completo. Quando il codice chiamante assegna un nuovo nome completo, la routine Set
prova a suddividerlo in due nomi costituenti. Se non trova uno spazio, lo archivia tutto come nome.
Dim firstName, lastName As String
Property fullName() As String
Get
If lastName = "" Then
Return firstName
Else
Return firstName & " " & lastName
End If
End Get
Set(ByVal Value As String)
Dim space As Integer = Value.IndexOf(" ")
If space < 0 Then
firstName = Value
lastName = ""
Else
firstName = Value.Substring(0, space)
lastName = Value.Substring(space + 1)
End If
End Set
End Property
Nell'esempio seguente vengono illustrate le chiamate tipiche alle routine di proprietà di fullName
. La prima chiamata imposta il valore della proprietà e la seconda la recupera.
fullName = "MyFirstName MyLastName"
MsgBox(fullName)
Vedi anche
- Procedure
- Routine Property
- Parametri e argomenti delle routine
- Differenze tra proprietà e variabili in Visual Basic
- Procedura: Dichiarare una proprietà con livelli di accesso misti
- Procedura: Chiamare una routine di proprietà
- Procedura: Dichiarare e chiamare una proprietà predefinita in Visual Basic
- Procedura: Inserire un valore in una proprietà
- Procedura: Ottenere un valore da una proprietà