Die '<propertyname>'-Eigenschaft kann nicht in einem Objektinitialisiererausdruck initialisiert werden, da sie Argumente erfordert.
Aktualisiert: November 2007
Property '<propertyname>' cannot be initialized in an object initializer expression because it requires arguments
Die in einer Objektinitialisiererliste initialisierten Member müssen Felder oder Eigenschaften sein, und Eigenschaftenmember können nicht über Parameter verfügen. Die Standardeigenschaften erfordern beispielsweise Argumente, sie können daher nicht in einer Objektinitialisiererliste initialisiert werden. Weitere Informationen finden Sie unter Standardeigenschaften.
Fehler-ID: BC30992
So beheben Sie diesen Fehler
- Entfernen Sie alle Eigenschaften mit Argumenten von der Initialisierungsliste.
Beispiel
Die folgende Klasse enthält die Standardeigenschaft defaultProp, die ein Ganzzahlargument erfordert.
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
Da die Standardeigenschaft ein Argument erfordert, verursacht die folgende Deklaration einen Fehler.
' Dim strs As New SomeStrings(2) With { .defaultProp = "One" }