【问题标题】:Pass ArrayList to web service in C#在 C# 中将 ArrayList 传递给 Web 服务
【发布时间】:2011-11-13 14:33:09
【问题描述】:

我有应该接收参数 ArrayList 的 Web 服务

[WebMethod] 
public void SelectPatches(ArrayList selectedPatches){}

但是当我从客户端 Visual Studio 调用这个方法时返回错误:

无法从“System.Collections.ArrayList”转换为“object[]”

是否可以将 ArrayList 类型的参数传递给 Web Service?

【问题讨论】:

    标签: c# .net web-services arraylist webmethod


    【解决方案1】:

    不要使用非泛型集合。使用通用,至少List<object>

    Web 方法应该接受任何类型的数组,因此使用ToArray() 扩展方法。

    【讨论】:

    • 确实,更具体的类型列表更可取。网络服务不会喜欢“对象”
    【解决方案2】:

    您可以使用arrayList.ToArray() (MSDN) 将ArrayList 转换为object[]

    您还可以使用arrayList.ToArray(Type) (MSDN) 将ArrayList 转换为指定类型的数组,而不必单独转换每个元素。

    【讨论】:

      猜你喜欢
      • 2021-05-07
      • 2012-04-15
      • 2011-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多