Impossibile inizializzare la proprietà '<nome proprietà>' in un'espressione dell'inizializzatore di oggetti. Richiede argomenti

Aggiornamento: novembre 2007

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

I membri inizializzati in un elenco di inizializzatori di oggetto devono essere campi o proprietà e i membri della proprietà non possono avere parametri. Ad esempio, le proprietà predefinite richiedono argomenti, pertanto non possono venire inizializzate in un elenco dell'inizializzatore di oggetto. Per ulteriori informazioni, vedere Proprietà predefinite.

ID errore: BC30992

Per correggere l'errore

  • Rimuovere dall'elenco di inizializzazione tutte le proprietà che hanno argomenti.

Esempio

Nella classe seguente è contenuta una proprietà predefinita, defaultProp che richiede un argomento integer.

    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

Poiché la proprietà predefinita richiede un argomento, la seguente dichiarazione genera un errore.

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

Vedere anche

Concetti

Proprietà predefinite

Proprietà e routine delle proprietà

Inizializzatori di oggetto: tipi denominati e tipi anonimi