Properti '<propertyname>' tidak dapat diinisialisasi dalam ekspresi penginisialisasi objek karena semua kelebihan beban yang dapat diakses memerlukan argumen

Anggota yang diinisialisasi dalam daftar penginisialisasi objek harus berupa bidang atau properti. Selain itu, properti dalam daftar penginisialisasi tidak dapat memiliki parameter. Properti yang menyebabkan kesalahan ini kelebihan beban, dan setiap versinya memerlukan argumen. Oleh karena itu, properti tidak dapat diinisialisasi dalam daftar penginisialisasi objek.

ID Kesalahan: BC30993

Untuk memperbaiki kesalahan ini

  • Hapus properti yang memerlukan argumen dari daftar penginisialisasi.

Contoh

Kelas berikut berisi tiga definisi properti: satu untuk TotalItems dan dua untuk Item, yang kelebihan beban.

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  

Properti TotalItems tidak memerlukan argumen dan dapat diinisialisasi dalam daftar inisialisasi objek, seperti yang ditunjukkan dalam deklarasi berikut.

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

Properti Item kelebihan beban, dan setiap kelebihan beban memerlukan argumen. Oleh karena itu, Item tidak dapat muncul dalam daftar penginisialisasi objek.

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

Untuk menghindari kesalahan ini, inisialisasi properti Item di luar penginisialisasi objek.

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

Lihat juga