c# - 无法将泛型列表作为参数发送到 WCF 方法

标签 c# wcf generics

我有一个 WCF 服务,其中一个方法(或操作契约)使用特定类型的通用列表作为参数,但是当我尝试使用此服务并调用此特定方法时,我收到此错误

Cannot convert type 'System.Collections.Generic.List<CA.CCS.sCmd>' to 'CA.CCS.sCmd[]'

我不知道为什么在消费者代码中需要对象数组而不是通用列表。

我只想将该参数作为通用列表发送,而不在客户端或服务器上进行任何转换,因为它会影响服务性能。

我在堆栈溢出上发现了类似的问题,但没有一个能解决我的问题。

非常感谢您的回复或指向其他人回复的链接。

更新: 当我尝试添加服务引用时出现此窗口,在这里找不到任何设置

enter image description here

最佳答案

因为您仍在使用 VS2005,并且您的代理生成器显然想将其转换为数组参数,所以您只需转换您的 List<T>T[]每当您调用此方法时。

因为你有一个 List<T>例如,你可以只使用它的 ToArray 方法(自 .NET 2.0 起支持)。所以不要调用 SomeMethod(myList) , 你可以做 SomeMethod(myList.ToArray()) .

关于c# - 无法将泛型列表作为参数发送到 WCF 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7686297/

相关文章:

c# - Webdriver 管理器和 c#

c# - "Storing"稍后完成的任务

python - 泛型类的类方法

c# - 如何使用泛型配置 AutoMapper

javascript - 如何在 typescript 中编写带有 value 或 value[] 参数的泛型函数作为两个参数

c# - 如何在执行 MSTest 测试期间写入 Console.Out

c# - 使用 While() 结构时 Gridview 不会填充。 C# ASP.NET

c# - WCF 错误 - 未将对象引用设置为对象的实例。生产服务不工作

c# - 将文件添加到现有Zip中-性能问题

c# - CodePlex 对表达式树序列化库的看法?