Partilhar via


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

Propriedades Padrão

Sobrecarga de procedimento

Referência

Sobrecargas