fregolo52
Messages postés1114Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention 6 mai 2021
-
9 août 2006 à 17:59
fregolo52
Messages postés1114Date d'inscriptionmercredi 15 juin 2011StatutMembreDernière intervention 6 mai 2021
-
10 août 2006 à 09:19
Bonjour,
Je me demande si je ne suis pas complètement à côté de la plaque.
Je débute en OO, et j'attaque direct le modèle MVC.
J'ai 3 classes qui représentent des objets avec des propriétés et des méthodes. Chaque type d'objet a sa collection (donc 3 collections).
Je crée des objets qui vivent leur vie, et je le ajoute à leur collection.
A un moment, je demande à la collection de retrouver un objet pour le supprimer.
Problème : l'objet est supprimé de la collection, mais l'objet lui-même n'est pas supprimé.
Comment faire pour supprimer l'objet et tout ce qu'il a instancié.
Si quelqu'un peut me guider sur cette partie.
De plus, je souhaite supprimer plusieur éléments d'une collection "d'un coup", seul pb, avec foreach, quand je suis en Debug, Visual m'informe que la collection a été modifiée et que ça peut gêner l'énumérateur.
Que me conseillez-vous ?
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 9 août 2006 à 18:29
Salut,
Si tu as plusieurs références sur ton objet, une maintenue dans la collection et une à l'extérieur, il faut mettre ses deux référence à null pour permettre au GC de faire son boulot. Si ton type maintient des ressources, implémente IDispose qui devra libérer immédiatement ces ressources.
Pour la 2ème question, utilise la méthode Clear ou parcours la collection avec une boucle for tu n'auras plus d'avertissements mais il faut faire attention au ré-arrangement automatique de la collection.