La propriété '<nom de la propriété>' ne peut pas être initialisée dans une expression d'initialiseur d'objet, car toutes les surcharges accessibles nécessitent des arguments
Mise à jour : novembre 2007
Property '<propertyname>' cannot be initialized in an object initializer expression because all accessible overloads require arguments
Les membres initialisés dans une liste d'initialiseurs d'objets doivent être des champs ou des propriétés. En outre, les propriétés d'une liste d'initialiseurs ne peuvent pas comporter de paramètres. La propriété qui provoque cette erreur est surchargée, et chacune de ses versions a besoin d'arguments. Par conséquent, la propriété ne peut pas être initialisée dans une liste d'initialiseurs d'objets.
ID d'erreur : BC30993
Pour corriger cette erreur
- Supprimez la propriété qui requiert des arguments dans la liste d'initialiseurs.
Exemple
La classe suivante contient trois définitions de propriétés : une pour TotalItems et deux pour Item, surchargée.
Class CollectionOfItems
Property TotalItems() As Integer
Get
End Get
Set(ByVal value As Integer)
End Set
End Property
Property Item(ByVal Key As String) As Object
Get
End Get
Set(ByVal value As Object)
End Set
End Property
Property Item(ByVal Index As Integer) As Object
Get
End Get
Set(ByVal value As Object)
End Set
End Property
End Class
La propriété TotalItems ne requiert pas d'arguments et peut être initialisée dans une liste d'initialiseurs d'objets, comme indiqué à la déclaration suivante.
Dim coinCollection As New CollectionOfItems With { .TotalItems = 0 }
La propriété Item est surchargée, et chaque surcharge requiert un argument. Par conséquent, Item ne peut pas figurer dans une liste d'initialiseurs d'objets.
' The following declaration is not valid.
' Dim coinCollection As New CollectionOfItems With { .TotalItems = 0, _
' .Item = aCoinObject }
Pour éviter cette erreur, initialisez la propriété Item à l'extérieur de l'initialiseur d'objet.
Dim coinCollection As New CollectionOfItems With { .TotalItems = 0 }
coinCollection.Item(1) = aCoinObject
Voir aussi
Tâches
Comment : appeler une procédure de propriété
Concepts
Propriétés et procédures de propriété
Initialiseurs d'objets : types nommés et anonymes