2017-07-05 3 views
-3

J'ai un service Web qui accepte la liste d'objet/classe en tant que paramètre d'entrée. Voici mon code de service Web:Impossible de convertir 'System.Collections.Generic.List <DataToUpload>' en 'DataToUpload []'

[WebMethod] 
     public string LoadContacts(List<DataToUpload> objData) 
     {..} 
public class DataToUpload 
     {...} 

J'ai besoin de consommer ce service Web dans l'application Windows C#. J'ai appelé la méthode Loadcontacts comme suit:

WebReferance.DataUploadToAltitude obj = new WebReferance.DataUploadToAltitude(); 
List<WebReferance.DataToUpload> cls_list = new List<WebReferance.DataToUpload>(); 
    .. 

    label1.Text = obj.LoadContacts(cls_list); 

Ce code génère l'erreur ci-dessous:

cannot convert from 'System.Collections.Generic.List<WindowsFormsApplication1.WebReferance.DataToUpload>' to 'WindowsFormsApplication1.WebReferance.DataToUpload[]' 

The best overloaded method match for 'WindowsFormsApplication1.WebReferance.DataUploadToAltitude.LoadContacts(WindowsFormsApplication1.WebReferance.DataToUpload[])' has some invalid arguments 

Pourquoi est-il lorsque le tableau acceptent mon service Web accepte la liste?

Répondre

0

Par défaut, vous ne pouvez pas passer des listes à un appel de service Web, si votre service Web accepte ou retourne une liste <> (ou toute collection), il attendra ou retournera un tableau. Vous pouvez modifier le type de collection lorsque vous ajoutez le service à votre projet.

Je recommande juste de convertir en tableaux, ou utiliser une technologie plus récente telle que webAPI ou WCF.