作为WCF web服务中的参数的嵌套列表
本文关键字:参数 列表 嵌套 WCF web 服务 作为 | 更新日期: 2023-09-27 18:21:03
我有一个WCF方法,它有一个嵌套的List参数,比如这个
public void Method(List<class1> class1Obj, List<List<SomeClass>> someClassObj)
{
// CODE
}
在设置服务引用之后,我在客户端引用方法中得到了这个,通过它我可以调用我的WCF方法
public void Method(class1[] class1Obj, SomeClass[][] someClassObj)
{
base.Channel.Method(class1Obj, someClassObj);
}
现在从我的代码中调用这个方法,我可以做这个
void myServiceCaller()
{
List<class1> class1Obj = new List<class1>();
// Add items to class1Obj
List<List<SomeClass>> someClassObj = List<List<SomeClass>>();
// Add items to someClassObj
ServiceRef.myServiceClient service = new ServiceRef.myServiceClient();
service.Method(
class1Obj.ToArray(), // This one is fine
someClassObj.ToArray() // This gives me compile time error
);
}
如何解决此问题以将List<List<SomeClass>>
转换为SomeClass[][]
?
当您添加服务参考并弹出对话框时,您可以单击高级按钮,并将集合类型下拉列表从System.Array
更改为System.Collection.GenericList
,这将更改创建的代理,并在使用集合时使用List<...>
而不是[...]
。
此外,如果您已经添加了服务参考,您可以右键单击解决方案树中的服务参考,然后单击配置服务参考。这将显示与上述相同的"高级"对话框。