无法转换'System.Collections.Generic.List`1 [System.Int32]'类型的对象以输入'crmWebService.ArrayOfInt'

时间:2012-05-14 15:18:24

标签: .net vb.net exception-handling casting

我将列表发送到网络服务后收到错误。

这是调用Web服务的代码:

Dim sProgramInterest As New List(Of Integer)    
crmService.InsertProspectGetId(sProgramInterest.ToList)

但是我收到了这个错误。

  

无法将类型为'System.Collections.Generic.List`1 [System.Int32]'的对象强制转换为'crmWebService.ArrayOfInt'。

Web服务接受的参数是:

ByVal sProgramInterest As List(Of Integer)

3 个答案:

答案 0 :(得分:3)

而不是致电ToList,请致电ToArray

crmService.InsertProspectGetId(sProgramInterest.ToArray)

答案 1 :(得分:1)

似乎服务接受int的数组,而不是int的列表。因此,试试:

crmService.InsertProspectGetId(sProgramInterest.ToArray())

答案 2 :(得分:0)

我认为你必须做类似的事情,

Dim sProgramInterest As New crmWebService.ArrayOfInt    
crmService.InsertProspectGetId(sProgramInterest)

根据错误,参数必须是crmWebService.ArrayOfInt类型。您必须使用该类而不是List(Of Integer)