La propriété '<propertyname>' ne peut pas être initialisée dans une expression d’initialiseur d’objet, car toutes les surcharges accessibles nécessitent des arguments
Les membres initialisés dans une liste d’initialiseurs d’objets doivent être des champs ou des propriétés. De plus, les propriétés dans une liste d’initialiseurs ne peuvent pas avoir de paramètres. La propriété à l’origine de cette erreur est surchargée, et chacune de ses versions requiert des arguments. Ainsi, la propriété ne peut pas être initialisée dans une liste d’initialiseurs d’objets.
ID d’erreur : BC30993
- Supprimez la propriété qui requiert des arguments de la liste d’initialiseurs.
La classe suivante contient trois définitions de propriétés : une pour TotalItems
et deux pour Item
, qui est 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 aucun argument et peut être initialisée dans une liste d’initialiseurs d’objets, comme indiqué dans 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. Ainsi, Item
ne peut pas apparaître 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’objets.
Dim coinCollection As New CollectionOfItems With { .TotalItems = 0 }
coinCollection.Item(1) = aCoinObject
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :