Partager via


Set, instruction (Visual Basic)

Déclare une Set procédure de propriété utilisée pour affecter une valeur à une propriété.

Syntaxe

[ <attributelist> ] [ accessmodifier ] Set [([ByVal value [ As datatype ]])]  
    [ statements ]  
End Set  

Pièces

attributelist
Optionnel. Consultez la liste des attributs.

accessmodifier
Facultatif sur l’une des instructions et Set les Get instructions de cette propriété. Il peut s’agir de l’un des éléments suivants :

Consultez les niveaux d’accès en Visual Basic.

value
Optionnel. Paramètre contenant la nouvelle valeur de la propriété. S’il n’est pas donné (autrement dit si la liste de paramètres n’est pas présente ou est vide), un paramètre implicite nommé value est défini. Le type de données de ce paramètre implicite est le type de données de la propriété où cette Set instruction est déclarée.

datatype
Obligatoire s’il value est présent et Option Strict est On. Ne peut pas être présent s’il value n’est pas donné. Type de données du value paramètre. Le type de données spécifié doit être identique au type de données de la propriété où cette Set instruction est déclarée.

statements
Optionnel. Une ou plusieurs instructions qui s’exécutent lorsque la Set procédure de propriété est appelée.

End Set
Obligatoire. Met fin à la définition de la Set procédure de propriété.

Remarques

Chaque propriété doit avoir une Set procédure de propriété, sauf si la propriété est marquée ReadOnly. La Set procédure est utilisée pour définir la valeur de la propriété.

Visual Basic appelle automatiquement la procédure d’une Set propriété lorsqu’une instruction d’affectation fournit une valeur à stocker dans la propriété.

Visual Basic transmet un paramètre à la Set procédure pendant les affectations 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. Le paramètre contient la valeur à affecter à la propriété. Vous stockez généralement cette valeur dans une variable locale privée et retournez-la chaque fois que la Get procédure est appelée.

Le corps de la déclaration de propriété ne peut contenir que les procédures et Set les procédures de Get la propriété entre l’instruction Property et l’instructionEnd Property. Il ne peut pas stocker quoi que ce soit d’autre que ces procédures. En particulier, elle 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 Set procédure à l’intérieur de la propriété à laquelle elle s’applique.

La Set procédure est par défaut au niveau d’accès de sa propriété contenante, sauf si vous utilisez accessmodifier l’instruction Set .

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 ou la GetSet procédure, mais pas les deux. Si vous effectuez cette opération, 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 Set procédure Private, mais pas Public.

    Si vous définissez une WriteOnly propriété, la Set procédure représente l’intégralité de la propriété. Vous ne pouvez pas déclarer un niveau d’accès différent pour Set, car cela définirait deux niveaux d’accès pour la propriété.

Comportement

  • Retour d’une procédure de propriété. Lorsque la Set procédure retourne au code appelant, l’exécution continue à suivre l’instruction qui a fourni la valeur à stocker.

    Set les procédures de propriété peuvent retourner à l’aide de l’instruction Return ou de l’instruction Exit.

    Les Exit Property instructions provoquent Return une sortie immédiate d’une procédure de propriété. N’importe quel nombre d’instructions Exit PropertyReturn peuvent apparaître n’importe où dans la procédure, et vous pouvez combiner et Return utiliser Exit Property des instructions.

Exemple :

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

Class propClass
    Private propVal As Integer
    Property Prop1() As Integer
        Get
            Return propVal
        End Get
        Set(ByVal value As Integer)
            propVal = value
        End Set
    End Property
End Class

Voir aussi