Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Vous placez une définition de propriété entre une Property instruction et une End Property instruction. Dans cette définition, vous définissez une Get procédure, une Set procédure ou les deux. Tout le code de la propriété se trouve dans ces procédures.
La Get procédure récupère la valeur de la propriété et la Set procédure 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 Getet 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
End Propertyinstruction.Si la propriété accepte des paramètres, suivez le
Propertymot clé portant le nom de la procédure, puis la liste des paramètres entre parenthèses.Suivez les parenthèses avec une
Asclause 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 et
SetprocédezGetcomme il convient. Consultez les instructions suivantes.
Pour créer une procédure Get qui récupère une valeur de propriété
Entre les instructions et
End PropertylesPropertyinstructions, écrivez une instruction Get, suivie d’uneEnd Getinstruction. Vous n’avez pas besoin de définir de paramètres pour laGetprocédure.Placez les instructions de code pour récupérer la valeur de la propriété entre les instructions et
End GetlesGetinstructions. 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
Returninstruction pour renvoyer la valeur de la propriété au code appelant.
Vous devez écrire une Get procédure pour une propriété en lecture-écriture et pour une propriété en lecture seule. Vous ne devez pas définir de Get procédure 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 et
End PropertylesPropertyinstructions, écrivez une instruction Set, suivie d’uneEnd Setinstruction.Dans l’instruction
Set, suivez éventuellement leSetmot clé avec 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éValueest 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 nom différent le cas échéant, 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 une valeur dans la propriété entre les instructions et
End SetlesSetinstructions. 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 le paramètre valeur pour accepter la valeur fournie par le code appelant. Vous pouvez stocker cette valeur directement dans une instruction d’affectation ou l’utiliser dans une expression pour calculer la valeur interne à stocker.
Vous devez écrire une Set procédure pour une propriété en lecture-écriture et pour une propriété en écriture seule. Vous ne devez pas définir de Set procédure 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 constituants, le prénom et le nom. Lorsque le code appelant lit fullName, la procédure Get combine les deux noms constituants 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 le stocke comme 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 propriété et le deuxième appel le récupère.
fullName = "MyFirstName MyLastName"
MsgBox(fullName)
Voir aussi
- Procédures
- Procédures de propriété
- Paramètres et arguments d’une procédure
- Différences entre les propriétés et les variables en Visual Basic
- Procédure : déclarer une propriété avec des niveaux d’accès mixte
- 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é