Bonjour,
Je vais essayer d'expliquer le mieux possible mon problème. J'ai une classe (qui est un UserControl en WPF) qui contient une liste d'objet d'une autre classe (un autre UserControl)
Voici donc la liste:
Bon la classe SkillUserControl contient plusieurs attribut, je vais juste en mentionner trois
Code : Sélectionner tout - Visualiser dans une fenêtre à part private List<SkillUserControl> listSkill;
la propriété numPrereq est à -1 par défaut sinon ça veut dire que le Skill a un Skill parent et donc numPrereq contient la même valeur que la propriété Key du Skill parent (j'espère être assez clair...)
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 public int Key { get; private set; } public int numPrereq { get; private set; } public SkillUserControl Prereq { get; internal set; }
Je fais un foreach sur la liste des Skill et si numPrereq != 1 je veux récupérer le SkillUserControl qui est le parent du skill actuel, voici mon linq:
Il me lance une Exception en me disant que la liste ne contient aucun élément (je parle du ToList()) alors que le skill que je veux récupérer existe j'ai fait un Console.WriteLine sur tous les Skill de listSkill et ils y sont tous.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 foreach(SkillUserControl suc in listSkill) { if(suc.numPrereq != -1) { suc.Prereq = listSkill.Where(s1 => s1.Key == suc.numPrereq).ToList().First(); } }
J'ai donc voulu juste afficher la clé sur skill parent plutôt que de l'affecter pour voir si cela faisait une différence, toujours la même exception la liste retournée est vide alors que ce n'est pas censé être le cas...
Ca fait des heures que je suis bloqué dessus, et je ne trouve pas la raison de mon problème...
Merci d'avance pour vos réponses
Partager