Share via


Propriétés par défaut

Mise à jour : novembre 2007

Une propriété qui accepte des arguments peut être déclarée comme la propriété par défaut d'une classe. Une propriété par défaut est la propriété utilisée par Visual Basic si aucune propriété spécifique n'a été désignée pour un objet. Les propriétés par défaut sont utiles, car elles vous permettent de condenser davantage votre code source en omettant les noms de propriétés fréquemment utilisés.

Les propriétés qui se prêtent le mieux à devenir des propriétés par défaut sont celles qui acceptent des paramètres et qui sont susceptibles d'être utilisées fréquemment. Par exemple, la propriété Item représente une propriété par défaut judicieuse pour une classe de collection étant donné qu'elle est fréquemment utilisée.

Les règles suivantes s'appliquent aux propriétés par défaut :

  • Un type ne peut compter qu'une seule propriété par défaut, y compris des propriétés héritées d'une classe de base. Il existe une exception à cette règle. Une propriété par défaut définie dans une classe de base peut être occultée par une autre propriété par défaut dans une classe dérivée.

  • Si une propriété par défaut dans une classe de base est occultée par une propriété non par défaut dans une classe dérivée, la propriété par défaut reste accessible à l'aide de la syntaxe de propriété par défaut.

  • Une propriété par défaut ne peut pas être Shared ni Private.

  • Si une propriété surchargée est une propriété par défaut, toutes les propriétés surchargées du même nom doivent également spécifier Default.

  • Les propriétés par défaut doivent accepter au moins un argument.

Exemple

L'exemple suivant déclare une propriété qui contient un tableau de chaînes en tant que propriété par défaut d'une classe :

Class Class2
    ' Define a local variable to store the property value.
    Private PropertyValues As String()
    ' Define the default property.
    Default Public Property Prop1(ByVal Index As Integer) As String
        Get
            Return PropertyValues(Index)
        End Get
        Set(ByVal Value As String)
            If PropertyValues Is Nothing Then
                ' The array contains Nothing when first accessed.
                ReDim PropertyValues(0)
            Else
                ' Re-dimension the array to hold the new element.
                ReDim Preserve PropertyValues(UBound(PropertyValues) + 1)
            End If
            PropertyValues(Index) = Value
        End Set
    End Property
End Class

Accès aux propriétés par défaut

Vous pouvez accéder aux propriétés par défaut en employant une syntaxe abrégée. Par exemple, le fragment de code suivant utilise la syntaxe standard et la syntaxe de la propriété par défaut :

Dim C As New Class2
' The first two lines of code access a property the standard way.

' Property assignment.
C.Prop1(0) = "Value One"
' Property retrieval.
MsgBox(C.Prop1(0))

' The following two lines of code use default property syntax.

' Property assignment.
C(1) = "Value Two"
' Property retrieval.
MsgBox(C(1))

Voir aussi

Concepts

Recommandations de mise à niveau : résoudre les propriétés par défaut sans paramètres

Modifications des propriétés par défaut pour les utilisateurs de Visual Basic 6.0

Référence

Default (Visual Basic)