A propriedade '<propertyname>' não pode ser inicializada em uma expressão inicializadora de objeto porque ela requer argumentos
Os membros inicializados em um lista de inicializadores de objeto devem ser campos ou propriedades, e membros de propriedade não podem ter parâmetros.Por exemplo, as propriedades padrão exigem argumentos, portanto, elas não podem ser inicializadas em um lista de inicializadores de objeto.Para obter mais informações, consulte Propriedades Padrão.
ID de erro: BC30992
Para corrigir este erro
- Remova da lista de inicialização todas as propriedades que possuem argumentos.
Exemplo
A seguinte classe contém uma propriedade padrão, defaultProp, que requer um argumento Integer.
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
Como a propriedade padrão requer um argumento, a seguinte declaração causa um erro.
' Dim strs As New SomeStrings(2) With { .defaultProp = "One" }