无法在对象初始值设定项表达式中初始化属性“<propertyname>”,因为它需要参数

更新:2007 年 11 月

在对象初始值设定项列表中初始化的成员必须是字段或属性,并且属性成员不能具有参数。例如,默认属性需要参数,因此不能在对象初始值设定项列表中初始化。有关更多信息,请参见默认属性

**错误 ID:**BC30992

更正此错误

  • 从初始化列表中移除所有具有参数的属性。

示例

下面的类包含默认属性 defaultProp,该属性需要一个整数参数。

    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

由于默认属性需要一个参数,因此下面的声明会导致错误。

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

请参见

概念

默认属性

属性和属性过程

对象初始值设定项:命名类型和匿名类型