Bonjour à tous!
Donc jeune fou que je suis, j'essaie de comprendre en détail le fonctionnement du Generic List dans un objectif a prime abord assez simple.
J'ai MyObject:
Et dans mon form principal, une list de MyObject
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Public Class MyObject Public Name as String Public Value as Integer End Class
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 [...] dim lst as New List(of MyObject) [...]
Donc de base, je comprend qu'avec la Generic List, on peut écrire ceci:
Qui me donnera le "value" du premier "MyObject" contenu dans la liste. Qui est très équivalent à:
Code : Sélectionner tout - Visualiser dans une fenêtre à part lst(0).Value
Code : Sélectionner tout - Visualiser dans une fenêtre à part lst.Items(0).Value
Donc j'imagine que quelque part, on a décidé que List(T) serait équivalent a List.Items(T) ?
Mon questionnement, et objectif, est de savoir s'il est possible d'obtenir quelque chose comme:
Et donc de fournir la propriété "Name" de "MyObject" au lieu de fournir la position qu'il tient dans la liste.... ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part lst("Nom").Value
J'ai chercher avec des possibilités telles que Overrides la fonction "Equals"... mais finalement ça a pas trop rapport avec le besoin. Et au final, les changements seraient a appliquer directement sur la List(of T). Je me demande s'il y a peut-être moyen de créer une "super liste" qui pourrait avoir le comportement cité plus haut?
J'espère comme toujours avoir été assez clair
Amuny,
Partager