为什么在向 WCF 服务发送值时不能将 List(Of Integer) 类型的值转换为 Integer?
Why can't value of type List(Of Integer) be converted to Integer when sending value to WCF service?
客户代码:
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
DoWork
方法需要一个 Integer()
,它是 整数数组。
List(Of T)
class has got a function called ToArray()
将 return 列表作为数组。调用它,它应该可以工作。
serviceObject.DoWork(name, value.ToArray())
在 the MSDN documentation 上阅读有关数组的更多信息。
根据 this answer,当使用 WCF 时,List(Of T)
在客户端被转换为数组,这就是 DoWork
方法需要数组而不是 [=17= 的原因] 正如您指定的那样。不过,这种行为显然可以修改。
客户代码:
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
DoWork
方法需要一个 Integer()
,它是 整数数组。
List(Of T)
class has got a function called ToArray()
将 return 列表作为数组。调用它,它应该可以工作。
serviceObject.DoWork(name, value.ToArray())
在 the MSDN documentation 上阅读有关数组的更多信息。
根据 this answer,当使用 WCF 时,List(Of T)
在客户端被转换为数组,这就是 DoWork
方法需要数组而不是 [=17= 的原因] 正如您指定的那样。不过,这种行为显然可以修改。