我有一个wcf服务,其服务方法如下:

 public void SyncClient(List<Client> client)
        {
         }

然后我在一个lib解决方案中称其为this,该解决方案引用了以下服务:
WCF.SyncClient wcfSer = new WCF.SyncClient();
 List<Client> clientModified = secondservice.Get_Clients(ModifiedDate, modifiedUnt).ToList();
wcfSer.SyncClient(clientModified);

但我继续收到以下错误:
The best overloaded method match for 'SyncClient(SyncLib.ClientWCF.Client[])' has some invalid arguments
cannot convert from 'System.Collections.Generic.List<SyncLib.Client>' to 'SyncLib.WCF.Client[]'

我唯一要做的就是用另一个Web服务填充列表。

由于我要传递的参数是列表,而方法接受列表,这是什么问题,请问有人可以将我指向正确的方向。

最佳答案

这取决于您添加服务引用的方式。

您可以修改代码以发送客户端[]

WCF.SyncClient wcfSer = new WCF.SyncClient();
 var clientModified = secondservice.Get_Clients(ModifiedDate,
    modifiedUnt).ToArray();
wcfSer.SyncClient(clientModified);

或重新添加引用,然后选择使用System.Collection.Generic.List的选项,如下所示;
Select Add Reference
Select URL
Select Advanced when you have found the service.
In Datatype, you will see these options.

选择集合类型作为System.Collection.Generic.List

10-05 23:10