Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Property '<propertyname>' cannot be initialized in an object initializer expression because all accessible overloads require arguments
I membri inizializzati in un elenco dell'inizializzatore di oggetto devono essere campi o proprietà. Inoltre, le proprietà in un elenco di inizializzatori non possono avere parametri. La proprietà che genera questo errore viene sottoposta a overload e ognuna delle versioni richiede argomenti. Impossibile pertanto inizializzare la proprietà in un elenco dell'inizializzatore di oggetto.
ID errore: BC30993
Per correggere l'errore
- Rimuovere la proprietà che richiede argomenti dall'elenco di inizializzatori.
Esempio
Nella classe seguente sono contenute tre definizioni della proprietà: uno per TotalItems e due per Item, che viene sottoposto a overload.
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 proprietà TotalItems non richiede argomenti e può essere inizializzata in un elenco di inizializzazione dell'oggetto, come illustrato nella dichiarazione seguente.
Dim coinCollection As New CollectionOfItems With { .TotalItems = 0 }
La proprietà Item viene sottoposta a overload di e ogni overload richiede un argomento. Pertanto, Item non può essere presente in un elenco dell'inizializzatore di oggetto.
' The following declaration is not valid.
' Dim coinCollection As New CollectionOfItems With { .TotalItems = 0, _
' .Item = aCoinObject }
Per evitare questo errore, inizializzare la proprietà Item all'esterno dell'inizializzatore di oggetto.
Dim coinCollection As New CollectionOfItems With { .TotalItems = 0 }
coinCollection.Item(1) = aCoinObject
Vedere anche
Attività
Procedura: chiamare una routine di proprietà
Concetti
Proprietà e routine delle proprietà
Inizializzatori di oggetto: tipi denominati e tipi anonimi