Свойство <имяСвойства> не удалось инициализировать в выражении инициализатора объекта, поскольку оно требует аргументов
Обновлен: Ноябрь 2007
Property '<propertyname>' cannot be initialized in an object initializer expression because it requires arguments
Элементы, инициализированные в списке инициализаторов объекта, должны быть полями или свойствами, и у элементов свойства не может быть параметров. Например, для свойств по умолчанию требуются аргументы, поэтому они не могут быть инициализированы в списке инициализаторов объекта. Дополнительные сведения см. в разделе Свойства, используемые по умолчанию.
Идентификатор ошибки: 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" }