Événement
Créer des applications intelligentes
17 mars, 21 h - 21 mars, 10 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenantCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Définit 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 ]
attributelist
Optionnel. Liste des attributs appliqués à cette propriété ou procédure Get
ou Set
. Consultez la Liste des attributs.
Default
Optionnel. Spécifie que cette propriété constitue la propriété par défaut de la classe ou structure qui lui est associée. Les propriétés par défaut doivent accepter des paramètres et peuvent être définies et récupérées sans spécifier le nom de la propriété. Si vous définissez la propriété en tant que Default
, vous ne pouvez pas utiliser Private
sur la propriété ou sur l’une de ses procédures de propriété.
accessmodifier
Facultatif sur l’instruction Property
et sur au moins l’une des instructions Get
et Set
. Il peut s'agir d'une des méthodes suivantes :
Consultez Access levels in Visual Basic.
propertymodifiers
Optionnel. Il peut s'agir d'une des méthodes suivantes :
MustOverride Overrides
NotOverridable Overrides
Shared
Optionnel. Consultez Partagé.
Shadows
Optionnel. Consultez Shadows.
ReadOnly
Optionnel. Consultez ReadOnly.
WriteOnly
Optionnel. Consultez EnÉcritureSeule.
Iterator
Optionnel. Consultez Iterator.
name
Obligatoire. Nom de la propriété. Consultez Declared Element Names.
parameterlist
Optionnel. Liste des noms de variables locales représentant les paramètres de cette propriété et des paramètres supplémentaires possibles de la procédure Set
. Consultez la Liste des paramètres.
returntype
Obligatoire si Option Strict
est On
. Le type de données de la valeur renvoyée par la propriété.
Implements
Optionnel. Indique que cette propriété implémente une ou plusieurs propriétés, chacune définie dans une interface implémentée par la classe ou la structure contenant cette propriété. Consultez Instruction d’implémentations.
implementslist
Obligatoire si Implements
est utilisé. Liste des propriétés en cours d'implémentation.
implementedproperty [ , implementedproperty ... ]
Chaque implementedproperty
emploie la syntaxe et les éléments suivants :
interface.definedname
Élément | Description |
---|---|
interface |
Obligatoire. Nom d’une interface implémentée par la classe ou structure de cette propriété. |
definedname |
Obligatoire. Nom par lequel la procédure est définie dans interface . |
Get
Optionnel. Obligatoire si la propriété est marquée ReadOnly
. Démarre une procédure de propriété Get
utilisée pour renvoyer la valeur de la propriété. L’instruction Get
n’est pas utilisée avec les propriétés implémentées automatiquement.
statements
facultatif. Bloc d’instructions à exécuter dans la procédure Get
ou Set
.
End Get
Termine la procédure de propriété Get
.
Set
Optionnel. Obligatoire si la propriété est marquée WriteOnly
. Démarre une procédure de propriété Set
utilisée pour renvoyer la valeur de la propriété. L’instruction Set
n’est pas utilisée avec les propriétés implémentées automatiquement.
End Set
Termine la procédure de propriété Set
.
End Property
Met fin à la définition de cette propriété.
L’instruction Property
introduit la déclaration d’une propriété. Une propriété peut comporter une Get
procédure (lecture seule), une Set
procédure (écriture seule) ou les deux (lecture-écriture). Vous pouvez omettre la procédure et Set
l’utiliser lors de l’utilisation Get
d’une propriété implémentée automatiquement. Pour plus d’informations, consultez Propriétés implémentées automatiquement.
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.
Par défaut, les propriétés utilisent l’accès public. Vous pouvez ajuster le niveau d’accès d’une propriété avec un modificateur d’accès sur l’instruction Property
, et vous pouvez éventuellement ajuster l’une de ses procédures de propriété à un niveau d’accès plus restrictif.
Visual Basic transmet un paramètre à la procédure Set
lors des attributions de propriétés. Si vous ne fournissez pas de paramètre pour Set
, l’environnement de développement intégré (IDE) utilise un paramètre implicite nommé value
. Ce paramètre contient la valeur à affecter à la propriété. Vous stockez généralement cette valeur dans une variable locale privée et vous la retournez chaque fois que la procédure Get
est appelée.
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 Set
, mais pas les deux. Dans ce cas, le niveau d’accès de la procédure doit être plus restrictif que le niveau d’accès de la propriété. Par exemple, si la propriété est définie comme Friend
, vous pouvez définir la Set
procédure 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 l’ensemble de la propriété. Vous ne pouvez pas définir un niveau d’accès différent pour une telle procédure, puisque cela définit dans ce cas deux niveaux d’accès pour la propriété.
Type de retour. L’instruction Property
peut définir le type de données de la valeur qu’elle renvoie. Vous pouvez spécifier le type de données de votre choix 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é renvoie Object
.
Implémentation : Si cette propriété utilise le mot clé Implements
, la classe ou la structure qui la contient doit comporter une instruction Implements
immédiatement après 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 le Property
(dans definedname
) ne doit pas être identique au nom de cette propriété (dans name
).
Retour à partir d’une procédure de propriété. Lorsque la procédure Get
ou Set
renvoie au code appelant, l’exécution se poursuit avec l’instruction suivant celle qui l'a invoquée.
Les instructions Exit Property
et Return
provoquent une sortie immédiate d’une procédure de propriété. Tout nombre d’instructions Exit Property
et Return
peut apparaître où que ce soit dans la procédure, et vous pouvez associer des instructions Exit Property
et Return
.
Valeur renvoyée. Pour renvoyer une valeur d’une procédure Get
, vous pouvez affecter la valeur au nom de la propriété ou l’inclure dans une instruction Return
. L’exemple suivant affecte la valeur de retour au nom de la propriété quoteForTheDay
, puis utilise l’instruction Exit Property
à renvoyer.
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 affecter de 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
affecte simultanément la valeur de renvoi de la procédure Get
et quitte la procédure. L'exemple suivant illustre cela.
Private quoteValue As String = "No quote assigned yet."
ReadOnly Property QuoteForTheDay() As String
Get
Return quoteValue
End Get
End Property
L’exemple suivant présente 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
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires:
Événement
Créer des applications intelligentes
17 mars, 21 h - 21 mars, 10 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenant