Partager via


La propriété '<nom de la propriété>' ne peut pas être initialisée dans une expression d'initialiseur d'objet, car elle requiert des arguments

Mise à jour : novembre 2007

Property '<propertyname>' cannot be initialized in an object initializer expression because it requires arguments

Les membres initialisés dans une liste d'initialiseurs d'objets doivent être des champs ou des propriétés, et les membres de la propriété ne peuvent pas avoir de paramètres. Par exemple, les propriétés par défaut requièrent des arguments, c'est pourquoi elles ne peuvent pas être initialisées dans une liste d'initialiseurs d'objets. Pour plus d'informations, consultez Propriétés par défaut.

ID d'erreur : BC30992

Pour corriger cette erreur

  • Dans la liste d'initialisation, supprimez toutes les propriétés contenant des arguments.

Exemple

La classe suivante contient une propriété par défaut, defaultProp, qui requiert un argument entier.

    Public Class SomeStrings
        Private myStrings() As String
        Sub New(ByVal size As Integer)
            ReDim myStrings(size)
        End Sub
        Default Property defaultProp(ByVal index As Integer) As String
            Get
                Return myStrings(index)
            End Get
            Set(ByVal Value As String)
                myStrings(index) = Value
            End Set
        End Property
    End Class

La propriété par défaut nécessitant un argument, la déclaration suivante provoque une erreur.

' Dim strs As New SomeStrings(2) With { .defaultProp = "One" }

Voir aussi

Concepts

Propriétés par défaut

Propriétés et procédures de propriété

Initialiseurs d'objets : types nommés et anonymes