Get, instruction

Déclare une procédure de propriété Get utilisée pour récupérer une valeur à une propriété.

Syntaxe

[ <attributelist> ] [ accessmodifier ] Get()  
    [ statements ]  
End Get  

Éléments

Terme Définition
attributelist Optionnel. Consultez la Liste des attributs.
accessmodifier Facultatif sur l’une des instructions Get et Set de cette propriété, tout au plus. Il peut s'agir d'une des méthodes suivantes :

- Protected
- Friend
- Privé
- Protected Friend

Consultez Access levels in Visual Basic.
statements Optionnel. Une ou plusieurs instructions qui s’exécutent lorsque la procédure Get de propriété est appelée.
End Get Obligatoire. Termine la définition de la procédure de propriété Get.

Notes

Chaque propriété doit avoir une procédure de propriété Get, sauf si la propriété est marquée WriteOnly. La procédure Get est utilisée pour retourner la valeur actuelle de la propriété.

Visual Basic appelle automatiquement la procédure d’une propriété Get lorsqu’une expression demande la valeur de la propriété.

Le corps de la déclaration de propriété ne peut contenir que les procédures et les procédures Get et Set de la propriété entre l’instruction Property et l’instruction End Property. Il ne peut stocker rien d’autre que ces procédures. En l’occurrence, il ne peut pas stocker la valeur actuelle de la propriété. Vous devez stocker cette valeur en dehors de la propriété, car si vous la stockez à l’intérieur de l’une des procédures de propriété, l’autre procédure de propriété ne peut pas y accéder. L’approche habituelle consiste à stocker la valeur dans une variable Privée déclarée au même niveau que la propriété. Vous devez définir une procédure Get à l’intérieur de la propriété à laquelle elle s’applique.

La procédure Get est définie par défaut sur le niveau d’accès de sa propriété contenante, sauf si vous utilisez accessmodifier dans l’instruction 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 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éclarée Friend, vous pouvez déclarer la procédure GetPrivate, mais pas Public.

    Si vous définissez une propriété ReadOnly, la procédure Get représente la propriété entière. Vous ne pouvez pas déclarer un niveau d’accès différent pour Get, car cela définirait deux niveaux d’accès pour la propriété.

  • Type de retour. L’instruction Property peut déclarer le type de données de la valeur qu’elle retourne. La procédure Get retourne automatiquement ce type de données. 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 l’instruction Property ne spécifie pas returntype, la procédure retourne Object.

Comportement

  • Retour d’une procédure. Lorsque la procédure Get retourne au code appelant, l’exécution se poursuit dans l’instruction qui a demandé la valeur de propriété.

    Les procédures de propriété Get peuvent retourner une valeur à l’aide de l’instruction Return ou en affectant la valeur de retour au nom de la propriété. Pour plus d’informations, consultez « Valeur de retour » dans l’instruction Function.

    Les instructions Exit PropertyReturn et 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 de retour. Pour renvoyer une valeur à partir d’une procédure Get, vous pouvez affecter la valeur au nom de la propriété ou l’inclure dans une instruction Return. L’instruction Return affecte simultanément la valeur de retour de la procédure Get et quitte la procédure.

    Si vous utilisez Exit Property sans affecter de valeur au nom de la propriété, la procédure Get retourne la valeur par défaut pour le type de données de la propriété. Pour plus d’informations, consultez « Valeur de retour » dans l’instruction Function.

    L’exemple suivant illustre deux façons dont la propriété quoteForTheDay en lecture seule peut retourner la valeur détenue dans la variable privée quoteValue.

    Private quoteValue As String = "No quote assigned yet."
    
    ReadOnly Property QuoteForTheDay() As String
        Get
            QuoteForTheDay = quoteValue
            Exit Property
        End Get
    End Property
    
    ReadOnly Property QuoteForTheDay() As String
        Get
            Return quoteValue
        End Get
    End Property
    

Exemple

L’exemple suivant utilise l’instruction Get pour retourner la valeur d’une propriété.

Class propClass
    ' Define a private local variable to store the property value.
    Private currentTime As String
    ' Define the read-only property.
    Public ReadOnly Property DateAndTime() As String
        Get
            ' The Get procedure is called automatically when the
            ' value of the property is retrieved.
            currentTime = CStr(Now)
            ' Return the date and time As a string.
            Return currentTime
        End Get
    End Property
End Class

Voir aussi