#vb.net
#vb.net
Вопрос:
Приведенная ниже ошибка возникает при построении, функции и отображении списка:
Error 17 Value of type '1-dimensional array of PropGenie_WebService.Building' cannot be converted to 'System.Collections.Generic.List(Of PropGenie_WebService.Building)'.
Итак, мой веб-сервис использует списки, в списках вы получаете здания, объекты, список изображений и т.д.. Здание может иметь единицу площади en size, как вы можете видеть из кода. Я пытался сделать его массивами, но все равно получаю эту ошибку. Я застрял на этом весь день, и я действительно застрял..
Мой код в веб-сервисе:
}, _
.Features = {New Feature() With { _
.Name = "Bedrooms", _
.Count = "2" _
}}, _
.Images = {New ListingImage() With { _
.Caption = "Awesomesauce", _
.Url = "http://company.com/assets/index_background-84ec0c49973c354e38aea4b19d440e69.jpg" _
}, New ListingImage() With { _
.Caption = "Awesomesauce", _
.Url = "http://company.com/assets/index_background-84ec0c49973c354e38aea4b19d440e69.jpg" _
}}, _
.Buildings = {New Building() With { _
.AreaUnit = "sqm", _
.AreaValue = 1000 _
}} _
}
И пример построения:
Public Property AreaUnit() As String
Get
Return m_AreaUnit
End Get
Set(value As String)
m_AreaUnit = value
End Set
End Property
Private m_AreaUnit As String
И образец из класса Listings
Buildings = New List(Of Building)()
Features = New List(Of Feature)()
Images = New List(Of ListingImage)()
...
Public Property Buildings() As List(Of Building)
Get
Return m_Buildings
End Get
Set(value As List(Of Building))
m_Buildings = value
End Set
End Property
Пожалуйста, дайте мне знать, если потребуется какой-либо другой код.
Что я пробовал, но все еще ошибки
}, _
.Features = New List(Of Feature) from { New Feature(){ With { _ 'With Error: Expression Expected
.Name = "Bedrooms",
.Count = "2" _ 'Error: Not a member of listings
}}, _
.Images = New List(Of ListingImage) From { New ListingImage(){ With { _
.Caption = "Awesomesauce", _
.Url = "http://company.com/assets/index_background-84ec0c49973c354e38aea4b19d440e69.jpg" _ 'Error: not a member of listings
}, New ListingImage() With { _
.Caption = "Awesomesauce", _
.Url = "http://company.com/assets/index_background-84ec0c49973c354e38aea4b19d440e69.jpg" _
}}, _
.Buildings = New List(Of Building) From { New Building(){ With { _
.AreaUnit = "sqm", _
.AreaValue = 1000 _
}} _
}
Комментарии:
1. немного о
1 dimensional array
том, что вам все еще не нужны эти завершающие скобки.Buildings = New List(Of Building)()
является МАССИВОМList(of Building)
— то же самое сFeatures
иImages
. и вам почти никогда не нужен установщик реквизитов для них2. Я не уверен, что понимаю вас. Извините. Или что я должен отредактировать
3. удалите завершающие скобки :
Buildings = New List(Of Building)
; вы почти никогда не хотите, чтобы другой код мог изменять или очищать ваши коллекции, поэтому удалитеm_Buildings = value
из набора свойств (как минимум — класс Collection лучше предотвратил бы это)4. Я удалил
m_Buildings = value
at myGET/SET
, но ошибка все еще появляется.5. @Plutonix Buildings = Новый список (здания)() является массивом списка (здания) Нет, это не
Ответ №1:
.Buildings = {New Building() With { _
.AreaUnit = "sqm", _
.AreaValue = 1000 _
}}
создает массив зданий, но вам нужен список:
.Buildings = New List(Of Building) From { New Building() With {...}}
Комментарии:
1. Пожалуйста, смотрите оригинальное сообщение, я внес изменения, но получил 3 ошибки
2. У вас есть одна пара
{
/}
to much (между именем класса иwith
).