Property StatementProperty Statement

Déclare le nom d’une propriété et les procédures de propriété utilisées pour stocker et récupérer la valeur de la propriété.Declares the name of a property, and the property procedures used to store and retrieve the value of the property.

SyntaxeSyntax

[ <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 ]  

ComposantsParts

  • attributelist

    Facultatif.Optional. Liste des attributs qui s’appliquent à cette propriété ou Get ou Set procédure.List of attributes that apply to this property or Get or Set procedure. Consultez liste d’attributs.See Attribute List.

  • Default

    Facultatif.Optional. Spécifie que cette propriété est la propriété par défaut pour la classe ou structure sur lequel elle est définie.Specifies that this property is the default property for the class or structure on which it is defined. 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 propriété.Default properties must accept parameters and can be set and retrieved without specifying the property name. Si vous déclarez la propriété comme Default, vous ne pouvez pas utiliser Private sur la propriété ou sur un de ses procédures de propriété.If you declare the property as Default, you cannot use Private on the property or on either of its property procedures.

  • accessmodifier

    Facultatif sur le Property instruction et sur l’une de le Get et Set instructions.Optional on the Property statement and on at most one of the Get and Set statements. Il peut s'agir d'une des valeurs suivantes :Can be one of the following:

    Consultez niveaux en Visual Basic d’accès.See Access levels in Visual Basic.

  • propertymodifiers

    Facultatif.Optional. Il peut s'agir d'une des valeurs suivantes :Can be one of the following:

  • Shared

    Facultatif.Optional. Consultez partagé.See Shared.

  • Shadows

    Facultatif.Optional. Consultez ombres.See Shadows.

  • ReadOnly

    Facultatif.Optional. Consultez ReadOnly.See ReadOnly.

  • WriteOnly

    Facultatif.Optional. Consultez WriteOnly.See WriteOnly.

  • Iterator

    Facultatif.Optional. Consultez itérateur.See Iterator.

  • name

    Obligatoire.Required. Nom de la propriété.Name of the property. Consultez noms d’éléments déclarés.See Declared Element Names.

  • parameterlist

    Facultatif.Optional. Liste des noms de variables locales représentant les paramètres de cette propriété et les éventuels paramètres supplémentaires de la Set procédure.List of local variable names representing the parameters of this property, and possible additional parameters of the Set procedure. Consultez liste de paramètres.See Parameter List.

  • returntype

    Obligatoire si Option``Strict est On.Required if Option``Strict is On. Type de données de la valeur retournée par cette propriété.Data type of the value returned by this property.

  • Implements

    Facultatif.Optional. Indique que cette propriété implémente une ou plusieurs propriétés, chacune étant définie dans une interface implémentée par la classe ou la structure conteneur de cette propriété.Indicates that this property implements one or more properties, each one defined in an interface implemented by this property's containing class or structure. Consultez implémente l’instruction.See Implements Statement.

  • implementslist

    Obligatoire si Implements est utilisé.Required if Implements is supplied. Liste de propriétés en cours d’implémentation.List of properties being implemented.

    implementedproperty [ , implementedproperty ... ]

    Chaque implementedproperty emploie la syntaxe et les éléments suivants :Each implementedproperty has the following syntax and parts:

    interface.definedname

    ÉlémentPart DescriptionDescription
    interface Obligatoire.Required. Nom d’une interface implémentée par cette propriété de classe ou la structure conteneur.Name of an interface implemented by this property's containing class or structure.
    definedname Obligatoire.Required. Nom par lequel la propriété est définie dans interface.Name by which the property is defined in interface.
  • Get

    Facultatif.Optional. Obligatoire si la propriété est marquée WriteOnly.Required if the property is marked WriteOnly. Démarre un Get procédure de propriété qui est utilisée pour retourner la valeur de la propriété.Starts a Get property procedure that is used to return the value of the property.

  • statements

    Facultatif.Optional. Bloc d’instructions à exécuter dans le Get ou Set procédure.Block of statements to run within the Get or Set procedure.

  • End Get

    Met fin à la Get procédure de propriété.Terminates the Get property procedure.

  • Set

    Facultatif.Optional. Obligatoire si la propriété est marquée ReadOnly.Required if the property is marked ReadOnly. Démarre un Set procédure de propriété qui est utilisé pour stocker la valeur de la propriété.Starts a Set property procedure that is used to store the value of the property.

  • End Set

    Met fin à la Set procédure de propriété.Terminates the Set property procedure.

  • End Property

    Termine la définition de cette propriété.Terminates the definition of this property.

RemarquesRemarks

La Property instruction introduit la déclaration d’une propriété.The Property statement introduces the declaration of a property. Une propriété peut avoir un Get procédure (lecture seule), un Set procédure (écriture seule), ou les deux (lecture-écriture).A property can have a Get procedure (read only), a Set procedure (write only), or both (read-write). Vous pouvez omettre le Get et Set procédure lors de l’utilisation d’une propriété implémentée automatiquement.You can omit the Get and Set procedure when using an auto-implemented property. Pour plus d’informations, consultez Propriétés implémentées automatiquement.For more information, see Auto-Implemented Properties.

Vous pouvez utiliser Property uniquement au niveau de la classe.You can use Property only at class level. Cela signifie que la 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.This means the declaration context for a property must be a class, structure, module, or interface, and cannot be a source file, namespace, procedure, or block. Pour plus d’informations, consultez Contextes de déclaration et niveaux d’accès par défaut.For more information, see Declaration Contexts and Default Access Levels.

Par défaut, les propriétés utilisent un accès public.By default, properties use public access. Vous pouvez ajuster le niveau d’accès d’une propriété avec un modificateur d’accès sur le Property instruction et que vous pouvez éventuellement ajuster une de ses procédures de propriété à un niveau d’accès plus restrictif.You can adjust a property's access level with an access modifier on the Property statement, and you can optionally adjust one of its property procedures to a more restrictive access level.

Visual Basic passe un paramètre à la Set procédure pendant les assignations de propriété.Visual Basic passes a parameter to the Set procedure during property assignments. Si vous ne fournissez pas un paramètre pour Set, l’environnement de développement intégré (IDE) utilise un paramètre implicite nommé value.If you do not supply a parameter for Set, the integrated development environment (IDE) uses an implicit parameter named value. Ce paramètre conserve la valeur à affecter à la propriété.This parameter holds the value to be assigned to the property. En général, stockez la valeur dans une variable locale privée et de la retourner chaque fois que le Get procédure est appelée.You typically store this value in a private local variable and return it whenever the Get procedure is called.

RèglesRules

  • Niveaux d’accès mixtes.Mixed Access Levels. Si vous définissez une propriété en lecture-écriture, vous pouvez éventuellement spécifier un niveau d’accès différent pour un le Get ou Set procédure, mais pas les deux.If you are defining a read-write property, you can optionally specify a different access level for either the Get or the Set procedure, but not both. Si vous faites cela, le niveau d’accès de la procédure doit être plus restrictif que le niveau d’accès de la propriété.If you do this, the procedure access level must be more restrictive than the property's access level. Par exemple, si la propriété est déclarée Friend, vous pouvez déclarer le Set procédure Private, mais pas Public.For example, if the property is declared Friend, you can declare the Set procedure Private, but not Public.

    Si vous définissez un ReadOnly ou WriteOnly propriété, la procédure de propriété unique (Get ou Set, respectivement) représente la propriété.If you are defining a ReadOnly or WriteOnly property, the single property procedure (Get or Set, respectively) represents all of the property. Vous ne pouvez pas déclarer un niveau d’accès différent pour cette procédure, parce que seront définis à deux niveaux d’accès pour la propriété.You cannot declare a different access level for such a procedure, because that would set two access levels for the property.

  • Type de retour.Return Type. La Property instruction peut déclarer le type de données de la valeur de retour.The Property statement can declare the data type of the value it returns. Vous pouvez spécifier n’importe quel type de données ou le nom d’une énumération, structure, classe ou d’interface.You can specify any data type or the name of an enumeration, structure, class, or interface.

    Si vous ne spécifiez pas returntype, la propriété renvoie Object.If you do not specify returntype, the property returns Object.

  • Mise en œuvre.Implementation. Si cette propriété utilise la Implements (mot clé), la classe ou la structure conteneur doit avoir un Implements instruction qui suit immédiatement sa Class ou Structure instruction.If this property uses the Implements keyword, the containing class or structure must have an Implements statement immediately following its Class or Structure statement. Le Implements doit inclure chaque interface spécifiée dans implementslist.The Implements statement must include each interface specified in implementslist. Toutefois, le nom par lequel une interface définit les Property (dans definedname) pas nécessairement être le même que le nom de la propriété (dans name).However, the name by which an interface defines the Property (in definedname) does not have to be the same as the name of this property (in name).

ComportementBehavior

  • Retour d’une procédure de propriété.Returning from a Property Procedure. Lorsque le Get ou Set procédure retourne au code appelant, l’exécution se poursuit avec l’instruction qui suit l’instruction qui l’a appelée.When the Get or Set procedure returns to the calling code, execution continues with the statement following the statement that invoked it.

    Le Exit Property et Return instructions provoquent la sortie immédiate d’une procédure de propriété.The Exit Property and Return statements cause an immediate exit from a property procedure. Un nombre quelconque de Exit Property et Return instructions peuvent apparaître n’importe où dans la procédure, et vous pouvez mélanger Exit Property et Return instructions.Any number of Exit Property and Return statements can appear anywhere in the procedure, and you can mix Exit Property and Return statements.

  • Valeur de retour.Return Value. Pour retourner une valeur d’un Get procédure, vous pouvez affecter la valeur au nom de propriété ou l’inclure dans un Return instruction.To return a value from a Get procedure, you can either assign the value to the property name or include it in a Return statement. L’exemple suivant affecte la valeur de retour au nom de propriété quoteForTheDay , puis utilise la Exit Property instruction à retourner.The following example assigns the return value to the property name quoteForTheDay and then uses the Exit Property statement to return.

    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 lui assigner une valeur à name, le Get procédure retourne la valeur par défaut pour le type de données de la propriété.If you use Exit Property without assigning a value to name, the Get procedure returns the default value for the property's data type.

    Le Return instruction en même temps affecte le Get procédure retourner de valeur et termine la procédure.The Return statement at the same time assigns the Get procedure return value and exits the procedure. L’exemple suivant illustre ce point.The following example shows this.

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

ExempleExample

L’exemple suivant déclare une propriété dans une classe.The following example declares a property in a class.

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 aussiSee Also

Propriétés implémentées automatiquementAuto-Implemented Properties
Objets et classesObjects and Classes
Get (instruction)Get Statement
Set (instruction)Set Statement
Liste de paramètresParameter List
DefaultDefault