Результат Concat не является массивом; это IEnumerable(Of T)
. В вашем случае это IEnumerable(Of Entity)
. Вам просто нужно добавить ToArray()
в конец Concat, если вы хотите присвоить его обратно в массив.
propTempComb.AINInsured = propTemp1.AINInsured.Concat(propTemp2.AINInsured).ToArray()
Разбивка этой строки кода:
[instance3].[property] = [instance1].[property].Concat([instance2].[property])
Назначает результат Concat свойству, но свойство является массивом, поэтому вам нужно изменить результат Concat, который является IEnumerable (Of Entity), в массив, тривиальный с ToArray.
Я мог бы пойти дальше и рекомендовать, чтобы вы не использовали массивы в качестве открытых членов, скорее IEnumerable. Кроме того, для некоторых из этих общедоступных / общедоступных свойств лучше использовать авто-свойства.
Public Class PropertyPolicy
Private aininsuredfield As Entity()
Private claimsfield As Claims()
Public Property Agent As Entity
Public Property BillingInfo As BillingInfo
Public Property CancellationDate As Date
Public Property AINInsured() As IEnumerable(Of Entity)
Get
Return aininsuredfield
End Get
Set(value As IEnumerable(Of Entity))
aininsuredfield = value.ToArray()
End Set
End Property
Public Property Claims() As IEnumerable(Of Claims)
Get
Return claimsfield
End Get
Set(value As IEnumerable(Of Claims))
claimsfield = value.ToArray()
End Set
End Property
End Class
Кстати, это приведет к тому, что ваш оригинальный код будет работать без ToArray ()
propTempComb.AINInsured = propTemp1.AINInsured.Concat(propTemp2.AINInsured)