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" }