Проблема: у меня запущен и работает веб-сервис, проблема в том, что мне нужно вернуть более одного экземпляра класса, и я понятия не имею, как это сделать.
IУ меня есть цикл, настроенный в службе:
If localtab.Rows.Count > 0 Then
Do While i <= localtab.Rows.Count
Mbr.Urn = localtab.Rows(i).Item(0) & vbNullString
Mbr.Title = localtab.Rows(i).Item(1) & vbNullString
Mbr.Initials = localtab.Rows(i).Item(2) & vbNullString
Mbr.Surname = localtab.Rows(i).Item(3) & vbNullString
Mbr.Address1 = localtab.Rows(i).Item(4) & vbNullString
Mbr.Address2 = localtab.Rows(i).Item(5) & vbNullString
Mbr.Address3 = localtab.Rows(i).Item(6) & vbNullString
Mbr.Town = localtab.Rows(i).Item(7) & vbNullString
Mbr.County = localtab.Rows(i).Item(8) & vbNullString
Mbr.Country = localtab.Rows(i).Item(9) & vbNullString
Mbr.Postcode = localtab.Rows(i).Item(10) & vbNullString
Mbr.msg = "Success"
i = i + 1
Loop
Else
Mbr.msg = "Fail - no record found"
End If
И я знаю, что это прекрасно работает, так как возвращает последний член, указанный в БД.Выполнение чего-то вроде Mbr(i).urn
и т.д ... не будет работать, как когда я перебираю цикл через i, он только когда-нибудь вернет первый экземпляр, и как только сервис вернется, он остановится.
Нижеэто код со стороны клиента, вызывающего службу - достаточно просто, все, что я сейчас ищу, - это отображение окна сообщения с каждой фамилией.
Dim abMem As New ArdbegMember
Dim retMem As ArdbegMember
abMem.Downloaded = "N"
Try
cc.Open()
retMem = cc.MbrReq(abMem)
MesgBox(retMem.Surname)
cc.Close()
Что мне нужно знать, так это какпередать полный набор записей обратно клиенту
РЕДАКТИРОВАТЬ
Таким образом, исходя из приведенных ниже предложений, мой код теперь выглядит следующим образом -
Dim results As List(Of ArdbegMember)
Dim i As Integer = 0
'assign values from the table to the ArdbegMember object
If localtab.Rows.Count > 0 Then
Do While i <= localtab.Rows.Count
Mbr.Urn = localtab.Rows(i).Item(0) & vbNullString
Mbr.Title = localtab.Rows(i).Item(1) & vbNullString
Mbr.Initials = localtab.Rows(i).Item(2) & vbNullString
Mbr.Surname = localtab.Rows(i).Item(3) & vbNullString
Mbr.Address1 = localtab.Rows(i).Item(4) & vbNullString
Mbr.Address2 = localtab.Rows(i).Item(5) & vbNullString
Mbr.Address3 = localtab.Rows(i).Item(6) & vbNullString
Mbr.Town = localtab.Rows(i).Item(7) & vbNullString
Mbr.County = localtab.Rows(i).Item(8) & vbNullString
Mbr.Country = localtab.Rows(i).Item(9) & vbNullString
Mbr.Postcode = localtab.Rows(i).Item(10) & vbNullString
Mbr.msg = "Success"
i = i + 1
results.Add(Mbr)
Loop
Else
Mbr.msg = "Fail - no record found"
End If
'Tidy up
dataAdapter.Dispose()
Cmd.Dispose()
oConn.Close()
'Return the ArdbegMember object
Return results
И теперь выдается ошибка -
Value of type 'System.Collections.Generic.List(Of ArdbegWeb.ArdbegMember)' cannot be converted to 'ArdbegWeb.ArdbegMember'.