<Vlastnost propertyname> nelze inicializovat ve výrazu inicializátoru objektu, protože všechna přístupná přetížení vyžadují argumenty.

Členy inicializované v seznamu inicializátoru objektů musí být pole nebo vlastnosti. Vlastnosti v seznamu inicializátorů navíc nemohou mít parametry. Vlastnost způsobující tuto chybu je přetížena a každá z jejích verzí vyžaduje argumenty. Vlastnost proto nelze inicializovat v seznamu inicializátoru objektů.

ID chyby: BC30993

Oprava této chyby

  • Odeberte vlastnost, která vyžaduje argumenty ze seznamu inicializátorů.

Příklad

Následující třída obsahuje tři definice vlastností: jedna pro TotalItems a dvě pro Item, která je přetížena.

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  

Vlastnost TotalItems nevyžaduje žádné argumenty a lze je inicializovat v seznamu inicializace objektů, jak je znázorněno v následující deklaraci.

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

Vlastnost Item je přetížena a každé přetížení vyžaduje argument. Item Proto nelze zobrazit v seznamu inicializátoru objektů.

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

Chcete-li se této chybě vyhnout, inicializovat Item vlastnost mimo inicializátor objektu.

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

Viz také