A tulajdonságnév<> tulajdonság nem inicializálható objektum-inicializáló kifejezésben, mert argumentumokat igényel

Az objektum-inicializáló listában inicializált tagoknak mezőknek vagy tulajdonságoknak kell lenniük, és a tulajdonságtagoknak nem lehetnek paramétereik. Az alapértelmezett tulajdonságokhoz például argumentumok szükségesek, ezért nem inicializálhatók objektum-inicializáló listában. További információ: .

Hibaazonosító: BC30992

A hiba kijavítása

  • Távolítsa el az inicializálási listából az összes argumentumot tartalmazó tulajdonságot.

Példa

Az alábbi osztály egy alapértelmezett tulajdonságot tartalmaz, defaultPropamely egész szám argumentumot igényel.

Public Class SomeStrings  
    Private myStrings() As String  
    Sub New(ByVal size As Integer)  
        ReDim myStrings(size)  
    End Sub  
    Default Property defaultProp(ByVal index As Integer) As String  
        Get  
            Return myStrings(index)  
        End Get  
        Set(ByVal Value As String)  
            myStrings(index) = Value  
        End Set  
    End Property  
End Class  

Mivel az alapértelmezett tulajdonság argumentumot igényel, a következő deklaráció hibát okoz.

' Dim strs As New SomeStrings(2) With { .defaultProp = "One" }  

Lásd még