Comment : créer une propriété (Visual Basic)

Entourez une définition de propriété entre une instruction Property et une instruction End Property. Dans cette définition, définissez une procédure Get ou une procédure Set, ou les deux. L'intégralité du code de cette propriété doit se trouver dans ces procédures.

La procédure Get récupère la valeur de la propriété et la propriété Set stocke une valeur. Si vous souhaitez spécifier un accès en lecture/écriture, vous devez définir les deux procédures. Get doit être défini pour une propriété en lecture seule, et Set pour une propriété en écriture seule.

Pour créer une propriété

  1. En dehors d'une propriété ou d'une procédure, utilisez une Property, instruction, suivie d'une instruction End Property.

  2. Si la propriété prend des paramètres, faites suivre le mot clé Property du nom de la procédure, puis de la liste de paramètres entre parenthèses.

  3. Faites suivre les parenthèses d'une clause As 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.

  4. Ajoutez les procédures Get et Set, selon le cas. Reportez-vous aux instructions suivantes.

Pour créer une procédure Get qui récupère une valeur de propriété

  1. Entre les instructions Property et End Property, écrivez une Get, instruction, suivie d'une instruction End Get Il n'est pas nécessaire de définir de paramètre pour la procédure Get.

  2. Placez les instructions de code pour récupérer la valeur de la propriété entre les instructions Get et End Get Ce code peut inclure d'autres calculs et des manipulations de données en plus de la génération et du retour de la valeur de la propriété.

  3. Utilisez une instruction Return pour retourner la valeur de la propriété au code appelant.

Vous devez écrire une procédure Get pour une propriété en lecture-écriture et pour une propriété en lecture seule. Vous ne devez pas définir de procédure Get pour une propriété en écriture seule.

Pour créer une procédure Set qui écrit la valeur d'une propriété

  1. Entre les instructions Property et End Property, écrivez une Set, instruction (Visual Basic), suivie d'une instruction End Set

  2. Dans l'instruction Set, faites suivre le mot clé Set d'une liste de paramètres entre parenthèses. Cette liste de paramètres doit inclure au moins un paramètre de valeur pour la valeur transférée par le code appelant. Le nom par défaut pour ce paramètre de valeur est Value, mais vous pouvez utiliser un nom différent selon le cas. Le paramètre de valeur doit avoir le même type de données que la propriété elle-même.

  3. Placez les instructions de code pour stocker une valeur dans la propriété entre les instructions Set et End Set. Ce code peut inclure d'autres calculs et des manipulations de données en plus de la validation et du stockage de la valeur de la propriété.

  4. Utilisez le paramètre de la valeur pour accepter la valeur fournie par le code appelant. Vous pouvez stocker cette valeur directement dans une instruction d'assignation ou l'utiliser dans une expression pour calculer la valeur interne à stocker.

Vous devez écrire une procédure Set pour une propriété en lecture-écriture et pour une propriété en écriture seule. Vous ne devez pas définir de procédure Set pour une propriété en lecture seule.

Exemple

L'exemple suivant crée une propriété en lecture/écriture qui stocke un nom complet comme deux noms constitutifs, le prénom et le nom. Lorsque le code appelant lit fullName, la procédure Get combine les deux noms constitutifs et retourne le nom complet. Lorsque le code appelant assigne un nouveau nom complet, la procédure Set tente de le décomposer en deux noms constitutifs. S'il ne trouve pas d'espace, il le stocke en tant que 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 typiques aux procédures Property de fullName. Le premier appel définit la valeur de propriété et le deuxième appel la récupère.

fullName = "MyFirstName MyLastName"
MsgBox(fullName)

Voir aussi

Tâches

Comment : déclarer une propriété avec des niveaux d'accès mixtes (Visual Basic)

Comment : appeler une procédure de propriété (Visual Basic)

Comment : déclarer et appeler une propriété par défaut en Visual Basic

Comment : placer une valeur dans une propriété (Visual Basic)

Comment : obtenir une valeur d'une propriété (Visual Basic)

Concepts

Procédures dans Visual Basic

Procédures Property (Visual Basic)

Paramètres et arguments d'une procédure (Visual Basic)

Différences entre les propriétés et les variables en Visual Basic