Bonjour,
J'ai le code suivant dans un webservice :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
public partial class RequestStatus {
        private RequestedData[] resultsField;
 
        [System.Xml.Serialization.XmlArrayAttribute(IsNullable=true)]
        public RequestedData[] Results {
            get {
                return this.resultsField;
            }
            set {
                this.resultsField = value;
            }
        }
}
 
public partial class RequestedData {
    }
 
 
public partial class RiskModelDescriptor : RequestedData {
        private int idField;
        private string nameField;
 
        public int Id {
            get {
                return this.idField;
            }
            set {
                this.idField = value;
            }
        }
 
        [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
        public string Name {
            get {
                return this.nameField;
            }
            set {
                this.nameField = value;
            }
        }
}
Le webservice contient d'autres objets "blablaDescriptor" qui héritent de RequestedData.

Je fais appel au webservice comme cela ensuite :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
static void Main(string[] args) {
	OService webService = new OService();
	RequestStatus rs1 = new RequestStatus();
	rs1 = webService.GetTotos();
	List<RiskModelDescriptor> rds1 = new List<RiskModelDescriptor>();
	rds1 = rs1.Results.ToList<RiskModelDescriptor>();
	for (int i = 0; i < rds1.Count; i++) {
		Console.WriteLine("rds1 : " + rds1.ElementAt(i).Name);
	}
}
Cela ne compile pas :
1/ Instance argument: cannot convert from 'OServiceConsumer.OWebService.RequestedData[]' to 'System.Collections.Generic.IEnumerable<OServiceConsumer.OWebService.RiskModelDescriptor>'
2/ 'OServiceConsumer.OWebService.RequestedData[]' does not contain a definition for 'ToList' and the best extension method overload 'System.Linq.Enumerable.ToList<TSource>(System.Collections.Generic.IEnumerable<TSource>)' has some invalid arguments

Voyez-vous comment convertir correctement le tableau de RequestedData en tableau de RiskModelDescriptor pour résoudre le problème n°1?
Pour résoudre le problème n°2, est-ce que je dois absolument me passer de List<> et passer par des tableaux [] ??? Ou alors quand le 1er problème sera résolu ce problème disparaîtra?
D'avance merci,