Propriedade '<propertyname>' não pode ser inicializada em uma expressão de inicializador de objeto porque todas as sobrecargas acessíveis requerem argumentos
Os membros inicializados em uma lista do inicializador de objeto devem ser campos ou propriedades.Além disso, as propriedades em uma lista do inicializador não podem ter parâmetros.A propriedade que está causando esse erro está sobrecarregada, e cada uma das suas versões requer argumentos.Portanto, não é possível inicializar a propriedade em uma lista do inicializador de objeto.
ID de erro: BC30993
Para corrigir este erro
- Remova a propriedade requer argumentos na lista do inicializador.
Exemplo
A classe a seguir contém três definições de propriedade: uma para TotalItems e dois para Item, que está sobrecarregado.
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
The TotalItems propriedade não exige argumentos e pode ser inicializada em uma lista de inicialização do objeto, sistema autônomo mostra a declaração a seguir.
Dim coinCollection As New CollectionOfItems With { .TotalItems = 0 }
The Item propriedade está sobrecarregada, e cada sobrecarga requer um argumento. Portanto, Item não pode aparecer em uma lista do inicializador de objeto.
' The following declaration is not valid.
' Dim coinCollection As New CollectionOfItems With { .TotalItems = 0, _
' .Item = aCoinObject }
Para evitar esse erro, inicializar o Item propriedade fora do inicializador de objeto.
Dim coinCollection As New CollectionOfItems With { .TotalItems = 0 }
coinCollection.Item(1) = aCoinObject
Consulte também
Tarefas
Como: Chamar um procedimento de propriedade
Conceitos
Propriedades e Procedimentos de Propriedades
Inicializadores de objeto: Tipos nomeados e anônimo