为什么在向WCF服务发送值时,不能将List(Of Integer)类型的值转换为Integer?

时间:2016-11-19 11:05:51

标签: asp.net vb.net web-services wcf wcf-data-services

客户代码:

Public Sub sendEmpValue(name As String, value As List(Of Integer))
    Dim serviceObject As New Service.GetEmployeeClient
    serviceObject.DoWork(name, value)** getting error at the value**
End Sub

服务代码:

Sub DoWork(name As String, value As List(Of Integer)) Implements IGetEmployee.DoWork
End Sub

screenshot of the error

1 个答案:

答案 0 :(得分:0)

DoWork方法需要Integer() 一个整数数组

List(Of T)类有一个名为ToArray()的函数,它将列表作为数组返回。打电话给它,它应该工作。

serviceObject.DoWork(name, value.ToArray())

详细了解the MSDN documentation上的数据。

根据this answer使用WCF时,List(Of T)会在客户端转换为数组,这就是DoWork方法需要数组而不是List(Of Integer)的原因。你已经指定了。显然可以修改此行为。