Comment : créer une propriété (Visual Basic)
Vous placez une définition de propriété entre une instruction Property
et une instruction End Property
. Dans cette définition, vous définissez une procédure Get
, une procédure Set
ou les deux. Tout le code de la propriété se trouve dans ces procédures.
La procédure Get
récupère la une valeur de la propriété et la procédure Set
stocke une valeur. Si vous souhaitez que la propriété dispose d’un accès en lecture/écriture, vous devez définir les deux procédures. Pour une propriété en lecture seule, vous définissez uniquement Get
, et pour une propriété en écriture seule, vous définissez uniquement Set
.
Pour créer une propriété
En dehors de toute propriété ou procédure, utilisez une instruction Property, suivie d’une instruction
End Property
.Si la propriété prend les paramètres, faites suivre le mot clé
Property
par le nom de la procédure, puis la liste des paramètres entre parenthèses.Faites suivre les parenthèses avec une clause
As
pour spécifier le type de données de la valeur de la propriété. Vous devez spécifier le type de données même pour une propriété en écriture seule.Ajoutez les procédures
Get
etSet
, le cas échéant. Consultez les instructions suivantes.
Pour créer une procédure Get qui récupère une valeur de propriété
Entre les instructions
Property
etEnd Property
, écrivez une instruction Get, suivie d’une instructionEnd Get
. Vous n’avez pas besoin de définir de paramètres pour la procédureGet
.Placez les instructions de code pour récupérer la valeur de la propriété entre les instructions
Get
etEnd Get
. Ce code peut inclure d’autres calculs et manipulations de données en plus de générer et de retourner la valeur de la propriété.Utilisez une instruction
Return
pour renvoyer la valeur de propriété à l’appel de code.
Vous devez écrire une procédure Get
pour une propriété en lecture-écriture et pour une propriété en lecture seule. Vous ne devez pas définir de procédure Get
pour une propriété en écriture seule.
Pour créer une procédure Set qui écrit la valeur d’une propriété
Entre les instructions
Property
etEnd Property
, écrivez une instruction Get, suivie d’une instructionEnd Set
.Dans l’instruction
Set
, faites suivre éventuellement le mot cléSet
par une liste de paramètres entre parenthèses. Si la liste de paramètres n’est pas présente ou est vide, un paramètre implicite nomméValue
est défini, dont le type est le type de la propriété elle-même. Si la liste de paramètres n’est pas vide, vous pouvez utiliser un autre nom si nécessaire, mais le paramètre doit avoir le même type de données que la propriété elle-même.Placez les instructions de code pour stocker la valeur dans la propriété entre les instructions
Set
etEnd Set
. Ce code peut inclure d’autres calculs et manipulations de données en plus de valider et de stocker la valeur de la propriété.Utilisez la valeur du paramètre pour accepter la valeur fournie par le code d’appel. Vous pouvez soit stocker cette valeur directement dans une instruction d’affectation, soit l’utiliser dans une expression pour calculer la valeur interne à stocker.
Vous devez écrire une procédure Set
pour une propriété en lecture-écriture et pour une propriété en écriture seule. Vous ne devez pas définir de procédure Set
pour une propriété en lecture seule.
Exemple
L’exemple suivant crée une propriété en lecture/écriture qui stocke un nom complet sous la forme de deux noms constitutifs, le prénom et le nom de famille. Lorsque le code appelant lit fullName
, la procédure Get
combine les deux noms constitutifs et retourne le nom complet. Lorsque le code appelant attribue un nouveau nom complet, la procédure Set
tente de le diviser en deux noms constitutifs. S’il ne trouve pas d’espace, il stocke tout cela en tant que prénom.
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
L’exemple suivant montre des appels classiques aux procédures de propriété de fullName
. Le premier appel définit la valeur de la propriété et le deuxième appel la récupère.
fullName = "MyFirstName MyLastName"
MsgBox(fullName)
Voir aussi
- Procédures
- Procédures Property
- Paramètres et arguments d’une procédure
- Différences entre les propriétés et les variables en Visual Basic
- Comment : déclarer une propriété avec des niveaux d'accès mixtes
- Comment : appeler une procédure de propriété
- Comment : déclarer et appeler une propriété par défaut en Visual Basic
- Comment : placer une valeur dans une propriété
- Comment : obtenir une valeur d'une propriété