无法从'List <T>'转换为'T []'

Pet*_*ter 0 c# generics wcf list

我试图将类型的列表对象传递给List<UploadQueue>相同参数类型的WCF SOAP方法,我收到错误:

无法从'System.Collections.Generic.List'转换为'WebAPI.Upload.UploadQueue []'

我不明白这一点,因为我的WCF方法(下面)参数类型是List<UploadQueue>:

IService.DoUpload(List<UploadQueue> request)
Run Code Online (Sandbox Code Playgroud)

这是调用"DoUpload"的代码,它返回上述错误.

    List<UploadQueue> results = new List<UploadQueue>();
    HttpPostedFile m_objFile  = default(HttpPostedFile);
    int m_objFlag = default(int);
    Guid m_objGuid = Guid.NewGuid();
    DateTime m_objDate = DateTime.Now;

    try
    {
        if (Request.Files.Count > 0)
        {
            for (var j = 0; i <= (Request.Files.Count - 1); j++)
            {
                m_objFile = Request.Files[j];

                if (!(m_objFile == null | string.IsNullOrEmpty(m_objFile.FileName) | m_objFile.ContentLength < 1))
                {
                    results.Add(new UploadQueue(
                        m_objGuid,
                        m_objFlag,
                        m_objFile.ContentLength,
                        m_objFile.FileName,
                        m_objDate)
                    );

                }

            }
        }

    }
    catch (Exception ex)
    {
        //handle error
    }

    retParam = upload.DoUpload(results);
Run Code Online (Sandbox Code Playgroud)

想法?谢谢.

小智 14

在客户端项目中,您需要右键单击服务引用并选择"配置服务引用".在配置屏幕上的"数据类型"部分中,您需要将集合类型设置为System.Collections.Generic.List而不是System.Array.