.Net列表到SOAP数组并返回.Net列表

时间:2009-05-20 14:04:06

标签: vb.net soap

在Web Service CarService中,

  • 我有一个名为Car的课程。
  • Car有一堆属性,即Car.Color。
  • CarService有一个名为GetCars()的方法。
  • 在GetCar中,我有一个附加List的循环,你猜对了..汽车。

    Dim carList As New List(Of Car)

    执行rdr.Read()     如果rdr.GetValue(1).ToString()。Length> 0然后         Dim c As Car = New Car         c.Color = rdr.GetValue(1).ToString()         carList.Add(c)中     万一 环

GetCars()返回carList。
我还在另一个项目中有另一个页面消耗这些数据。
或者至少,我想,这是我的问题..

如果我这样做..

Dim myNewCars As List(Of Namespace.Car)
myNewCars = CarServiceProxy.GetCars()

我明白了:

类型'Namespace.Car的1维数组'的值无法转换为'System.Collections.Generic.List(Of Namespace.Car)'。

将这个1维数组转换回汽车列表的最佳方法是什么?

2 个答案:

答案 0 :(得分:4)

没有改变什么?使用接受List<T>的{​​{1}}构造函数 - 所以在C#中(我的VB不是很好):

IEnumerable<T>

如果你能改变一切;或许可以考虑像WCF一样的用法,你可以指定集合类型(所有方法) - List<Car> myNewCars = new List<Car>(CarServiceProxy.GetCars()); 开关。但是,更改为WCF堆栈并非易事。

答案 1 :(得分:1)

使用.NET 3.5(和.NET 4.0),您可以:

Dim myNewCars As List(Of Namespace.Car)
myNewCars = CarServiceProxy.GetCars().ToList()