No se puede inicializar la propiedad "<propertyname>" en una expresión de inicializador de objeto porque todas las sobrecargas accesibles requieren argumentos

Los miembros que se inicializan en una lista de inicializadores de objeto deben ser campos o propiedades. Además, las propiedades de una lista de inicializador no pueden tener parámetros. La propiedad que causa el error está sobrecargada y cada una de sus versiones requiere argumentos. Por lo tanto, la propiedad no se puede inicializar en una lista de inicializadores de objeto.

Identificador de error: BC30993

Para corregir este error

  • Quite la propiedad que requiere argumentos de la lista de inicializadores.

Ejemplo

La siguiente clase contiene tres definiciones de propiedad: una para TotalItems y dos para Item, que está sobrecargado.

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 propiedad TotalItems no requiere argumentos y se puede inicializar en una lista de inicialización de objetos, tal como se muestra en la siguiente declaración.

Dim coinCollection As New CollectionOfItems With { .TotalItems = 0 }  

La propiedad Item está sobrecargada y cada sobrecarga requiere un argumento. Por lo tanto, Item no puede aparecer en una lista de inicializadores de objeto.

' The following declaration is not valid.  
' Dim coinCollection As New CollectionOfItems With { .TotalItems = 0, _  
'    .Item = aCoinObject }  

Para evitar este error, inicialice la propiedad Item fuera del inicializador de objeto.

Dim coinCollection As New CollectionOfItems With { .TotalItems = 0 }  
coinCollection.Item(1) = aCoinObject  

Consulte también