Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Une propriété par défaut est une propriété de classe ou de structure que votre code peut accéder sans le spécifier. Lorsque vous appelez du code nomme une classe ou une structure, mais pas une propriété, et le contexte autorise l’accès à une propriété, Visual Basic résout l’accès à la propriété par défaut de cette classe ou de cette structure s’il en existe un.
Une classe ou une structure peut avoir au plus une propriété par défaut. Toutefois, vous pouvez surcharger une propriété par défaut et avoir plusieurs versions de celle-ci.
Pour plus d’informations, consultez Default.
Pour déclarer une propriété par défaut
Déclarez la propriété de la façon normale. Ne spécifiez pas le mot clé ou
Shared
lePrivate
mot clé.Incluez le
Default
mot clé dans la déclaration de propriété.Spécifiez au moins un paramètre pour la propriété. Vous ne pouvez pas définir une propriété par défaut qui ne prend pas au moins un argument.
Default Property myProperty(ByVal index As Integer) As String
Pour appeler une propriété par défaut
Déclarez une variable du type de classe ou de structure conteneur.
Dim x As New class1(3)
Utilisez le nom de variable seul dans une expression où vous incluez normalement le nom de la propriété.
MsgBox(x)
Suivez le nom de la variable avec une liste d’arguments entre parenthèses. Une propriété par défaut doit prendre au moins un argument.
MsgBox(x(1))
Pour récupérer la valeur de propriété par défaut, utilisez le nom de la variable, avec une liste d’arguments, dans une expression ou en suivant la connexion égale (
=
) à une instruction d’affectation.MsgBox(x(1) & x(2) & x(3))
Pour définir la valeur de propriété par défaut, utilisez le nom de la variable, avec une liste d’arguments, sur le côté gauche d’une instruction d’affectation.
x(1) = "Hello" x(2) = " " x(3) = "World"
Vous pouvez toujours spécifier le nom de propriété par défaut avec le nom de la variable, comme vous le feriez pour accéder à n’importe quelle autre propriété.
x.myProperty(1) = "Hello" x.myProperty(2) = " " x.myProperty(3) = "World"
Exemple 1
L’exemple suivant déclare une propriété par défaut sur une classe.
Public Class class1
Private myStrings() As String
Sub New(ByVal size As Integer)
ReDim myStrings(size)
End Sub
Default Property myProperty(ByVal index As Integer) As String
Get
' The Get property procedure is called when the value
' of the property is retrieved.
Return myStrings(index)
End Get
Set(ByVal Value As String)
' The Set property procedure is called when the value
' of the property is modified.
' The value to be assigned is passed in the argument
' to Set.
myStrings(index) = Value
End Set
End Property
End Class
Exemple 2
L’exemple suivant montre comment appeler la propriété myProperty
par défaut sur la classe class1
. Les trois instructions d’affectation stockent les valeurs dans myProperty
, et l’appel MsgBox lit les valeurs.
Sub Test()
Dim x As New class1(3)
x(1) = "Hello"
x(2) = " "
x(3) = "World"
MsgBox(x(1) & x(2) & x(3))
End Sub
L’utilisation la plus courante d’une propriété par défaut est la Item[] propriété sur différentes classes de collection.
Programmation robuste
Les propriétés par défaut peuvent entraîner une petite réduction des caractères de code source, mais elles peuvent rendre votre code plus difficile à lire. Si le code appelant n’est pas familiarisé avec votre classe ou structure, lorsqu’il fait une référence à la classe ou au nom de la structure, il ne peut pas être certain que cette référence accède à la classe ou à la structure elle-même, ou à une propriété par défaut. Cela peut entraîner des erreurs de compilateur ou des erreurs logiques d’exécution subtiles.
Vous pouvez réduire un peu le risque d’erreurs de propriété par défaut en utilisant toujours l’instruction Option Strict pour définir la vérification On
du type du compilateur sur .
Si vous envisagez d’utiliser une classe ou une structure prédéfinie dans votre code, vous devez déterminer s’il a une propriété par défaut et, le cas échéant, quel est son nom.
En raison de ces inconvénients, vous devez envisager de ne pas définir les propriétés par défaut. Pour la lisibilité du code, vous devez également envisager de toujours faire référence à toutes les propriétés explicitement, même les propriétés par défaut.
Voir aussi
- Procédures de propriété
- Paramètres et arguments d’une procédure
- Property Statement
- Par défaut
- Différences entre les propriétés et les variables en Visual Basic
- Comment : créer une propriété
- Procédure : déclarer une propriété avec des niveaux d’accès mixte
- Comment : appeler une procédure de propriété
- Comment : placer une valeur dans une propriété
- Comment : obtenir une valeur d'une propriété