Property, instruction
Déclare le nom d'une propriété, ainsi que les procédures de propriété utilisées pour stocker et récupérer la valeur de la propriété.
[ <attributelist> ] [ Default ] [ accessmodifier ]
[ propertymodifiers ] [ Shared ] [ Shadows ] [ ReadOnly | WriteOnly ] [ Iterator ]
Property name ( [ parameterlist ] ) [ As returntype ] [ Implements implementslist ]
[ <attributelist> ] [ accessmodifier ] Get
[ statements ]
End Get
[ <attributelist> ] [ accessmodifier ] Set ( ByVal value As returntype [, parameterlist ] )
[ statements ]
End Set
End Property
- or -
[ <attributelist> ] [ Default ] [ accessmodifier ]
[ propertymodifiers ] [ Shared ] [ Shadows ] [ ReadOnly | WriteOnly ]
Property name ( [ parameterlist ] ) [ As returntype ] [ Implements implementslist ]
Composants
Terme |
Définition |
||||||
attributelist |
Optionnel. Liste des attributs s'appliquant à cette propriété ou à la procédure Get ou Set. Consultez Liste d'attributs. |
||||||
Default |
Optionnel. Spécifie que cette propriété est la propriété par défaut pour la classe ou la structure sur laquelle elle est définie. Les propriétés par défaut doivent accepter des paramètres et peuvent être définies et récupérées sans la spécification du nom de la propriété. Si vous déclarez la propriété comme Default, vous ne pouvez pas utiliser Private sur la propriété ou sur l'une ou l'autre de ses procédures de propriété. |
||||||
accessmodifier |
Facultatif sur l'instruction Property et sur, au plus, l'une des instructions Get et Set. Il peut s'agir de l'une des valeurs suivantes : Consultez Niveaux d'accès dans Visual Basic. |
||||||
propertymodifiers |
Optionnel. Il peut s'agir de l'une des valeurs suivantes :
|
||||||
Shared |
Optionnel. Consultez Shared (Visual Basic). |
||||||
Shadows |
Optionnel. Consultez Shadows (Visual Basic). |
||||||
ReadOnly |
Optionnel. Consultez ReadOnly (Visual Basic). |
||||||
WriteOnly |
Optionnel. Consultez WriteOnly (Visual Basic). |
||||||
Iterator |
Optionnel. Consultez l' itérateur. |
||||||
name |
Requis. Nom de la propriété. Consultez Noms d'éléments déclarés (Visual Basic). |
||||||
parameterlist |
Optionnel. Liste des noms de variables locales qui représentent les paramètres de cette propriété, et les éventuels paramètres supplémentaires de la procédure Set. Consultez Liste de paramètres (Visual Basic). |
||||||
returntype |
Obligatoire si Option Strict a la valeur On. Type de données de la valeur retournée par cette propriété. |
||||||
Implements |
Optionnel. Indique que cette propriété implémente une ou plusieurs propriétés, dont chacune est définie dans une interface implémentée par la classe ou la structure conteneur de cette propriété. Consultez Implements, instruction. |
||||||
implementslist |
Requis si Implements est fourni. Liste des propriétés implémentées. implementedproperty [ , implementedproperty ... ] Chaque implementedproperty emploie la syntaxe et les paramètres suivants : interface.definedname
|
||||||
Get |
Optionnel. Obligatoire à moins que la propriété soit marquée WriteOnly. Lance une procédure de propriété Get utilisée pour retourner la valeur de la propriété. |
||||||
statements |
Optionnel. Bloc d'instructions à exécuter dans la procédure Get ou Set. |
||||||
End Get |
Met fin à la procédure de propriété Get. |
||||||
Set |
Optionnel. Obligatoire si la propriété est marquée ReadOnly. Lance une procédure de propriété Set qui est utilisée pour stocker la valeur de la propriété. |
||||||
End Set |
Met fin à la procédure de propriété Set. |
||||||
End Property |
Met fin à la définition de cette propriété. |
Notes
L'instruction Property présente la déclaration d'une propriété. Une propriété peut contenir une procédure Get (lecture seule), une procédure Set (écriture seule), ou les deux (lecture-écriture). Vous pouvez omettre la procédure Get et Set lors de l'utilisation d'une propriété implémentée automatiquement. Pour plus d'informations, consultez Propriétés implémentées automatiquement (Visual Basic).
Vous pouvez utiliser Property seulement au niveau de la classe. Cela signifie que le contexte de déclaration pour une propriété doit être une classe, une structure, un module ou une interface, et ne peut pas être un fichier source, un espace de noms, une procédure ou un bloc. Pour plus d'informations, consultez Contextes de déclaration et niveaux d'accès par défaut (Visual Basic).
Les propriétés disposent par défaut d'un accès public. Vous pouvez modifier le niveau d'accès d'une propriété à l'aide d'un modificateur d'accès sur l'instruction Property, et vous pouvez éventuellement appliquer un niveau d'accès plus restrictif à l'une de ses procédures de propriété.
Visual Basic passe un paramètre à la procédure Set pendant les assignations de propriétés. Si vous ne précisez pas de paramètre pour Set, l'environnement de développement intégré (IDE) utilise un paramètre implicite appelé value. Ce paramètre contient la valeur à assigner à la propriété. Vous enregistrez généralement cette valeur dans une variable locale privée et la retournez à chaque appel de la procédure Get.
Règles
Niveaux d'accès mixtes. Si vous définissez une propriété en lecture-écriture, vous pouvez éventuellement spécifier un niveau d'accès différent pour la procédure Get ou la procédure Set, mais pas pour les deux. Dans ce cas, le niveau d'accès de la procédure doit être plus restrictif que celui de la propriété. Par exemple, si la propriété est déclarée Friend, vous pouvez déclarer la procédure Set Private, mais pas Public.
Si vous définissez une propriété ReadOnly ou WriteOnly, la procédure de propriété unique (Get ou Set, respectivement) représente la propriété entière. Vous ne pouvez pas déclarer un niveau d'accès différent pour cette procédure, parce que deux niveaux d'accès seront définis pour la propriété.
Type de retour. L'instruction Property peut déclarer le type de données de la valeur qu'elle retourne. Vous pouvez spécifier un type de données ou le nom d'une énumération, d'une structure, d'une classe ou d'une interface.
Si vous ne spécifiez pas returntype, la propriété retourne Object.
Implémentation. Si cette propriété utilise le mot clé Implements, la classe ou la structure contenante doit contenir une instruction Implements qui suit immédiatement son instruction Class ou Structure. L'instruction Implements doit inclure chaque interface spécifiée dans implementslist. Toutefois, le nom par lequel une interface définit Property (dans definedname) ne doit pas être identique au nom de cette propriété (dans name).
Comportement
Retour d'une procédure de propriété. Lorsque la procédure Get ou Set retourne au code appelant, l'exécution se poursuit avec l'instruction qui suit celle qui l'a appelé.
Les instructions Exit Property et Return provoquent la sortie immédiate d'une procédure de propriété. Plusieurs instructions Exit Property et Return peuvent apparaître n'importe où dans la procédure, et vous pouvez associer des instructions Exit Property et Return.
Valeur de retour. Pour retourner une valeur à partir d'une procédure Get, vous pouvez soit assigner la valeur au nom de la propriété, soit l'inclure dans une instruction Return. L'exemple suivant assigne la valeur de retour au nom de la propriété quoteForTheDay, puis utilise l'instruction Exit Property pour retourner :
Private quoteValue As String = "No quote assigned yet."
ReadOnly Property quoteForTheDay() As String Get quoteForTheDay = quoteValue Exit Property End Get End Property
Si vous utilisez Exit Property sans assigner une valeur à name, la procédure Get retourne la valeur par défaut pour le type de données de la propriété.
L'instruction Return assigne simultanément la valeur de retour de la procédure Get et ferme la procédure. L'exemple suivant fournit une illustration.
Private quoteValue As String = "No quote assigned yet."
ReadOnly Property quoteForTheDay() As String Get Return quoteValue End Get End Property
Exemple
L'exemple suivant déclare une propriété dans une classe.
Class Class1
' Define a local variable to store the property value.
Private propertyValue As String
' Define the property.
Public Property prop1() As String
Get
' The Get property procedure is called when the value
' of a property is retrieved.
Return propertyValue
End Get
Set(ByVal value As String)
' The Set property procedure is called when the value
' of a property is modified. The value to be assigned
' is passed in the argument to Set.
propertyValue = value
End Set
End Property
End Class
Voir aussi
Référence
Set, instruction (Visual Basic)
Liste de paramètres (Visual Basic)
Concepts
Propriétés implémentées automatiquement (Visual Basic)