Bonjour,
J'ai actuellement le code suivant:
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
public class Output {
	public IEnumerable<dynamic> catList;
	public Output(IEnumerable<dynamic> catList) {
		this.catList = catList;
	}
}
var catList = new[] { new { name = "toto", age = 5 },
			new { name = "titi", age = 7 },
			new { name = "tata", age = 3 },
			new { name = "tutu", age = 4 } }.ToList();
Output out = new Output(catList);
...
var results = out;
foreach (dynamic item in results.catList) {
	//utilisation de item.name et item.age
}
Et je cherche à transformer mon type anonyme dynamic par l'utilisation d'ExpandoObject. Je cherche la manière la plus concise pour déclarer cela. Pouvez-vous m'aider?
Merci d'avance,

[EDIT1]
Ce que je voudrais c'est quelque chose comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
var catList = new System.Dynamic.ExpandoObject[] { new System.Dynamic.ExpandoObject() { name = "toto", age = 5 },
			new System.Dynamic.ExpandoObject() { name = "titi", age = 7 },
			new System.Dynamic.ExpandoObject() { name = "tata", age = 3 },
			new System.Dynamic.ExpandoObject() { name = "tutu", age = 4 } }.ToList();
Mais j'ai l'erreur de compilation "'System.Dynamic.ExpandoObject' does not contain a definition for 'name'" (pareil pour age bien sûr)
Ce qui fonctionne mais que je souhaiterais raccourcir au maximum, c'est ceci :
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
List<System.Dynamic.ExpandoObject> catList2 = new List<System.Dynamic.ExpandoObject>(); 
dynamic NameAge = new System.Dynamic.ExpandoObject();
NameAge.name = "toto";
NameAge.age = 5;
catList.Add(NameAge);
NameAge = new System.Dynamic.ExpandoObject();
NameAge.name = "titi";
NameAge.age = 7;
catList.Add(NameAge);
NameAge = new System.Dynamic.ExpandoObject();
NameAge.name = "tata";
NameAge.age = 3;
catList.Add(NameAge);
NameAge = new System.Dynamic.ExpandoObject();
NameAge.name = "tutu";
NameAge.age = 4;
catList.Add(NameAge);