プロパティ '<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" }