J'ai une classe, dont les instances doivent être éliminées. J'ai aussi plusieurs classes qui produisent ces instances, soit individuellement, soit en listes.Devrais-je avoir des méthodes qui renvoient des listes d'instances jetables?
Devrais-je retourner IList<MyClass>
à partir de mes méthodes ou devrais-je créer une classe MyClassCollection
qui est également jetable et la retourner à la place?
EDIT:
Ma principale raison de demander est que j'ai fini par le faire beaucoup:
IList<MyObject> list = GetList();
foreach(MyObject obj in list)
{
//do something
obj.Dispose();
}
et il semble que je serais mieux faire:
using (IList<MyObject> list = GetList())
{
foreach(MyObject obj in list)
{
//do something
}
}
Votre premier exemple dispose des objets dès qu'ils ne sont plus nécessaires, mais le second exemple les maintient en vie jusqu'à ce que l'itération entière soit terminée. C'est deux manières différentes de manipuler les objets, et vous devez choisir la méthode que vous voulez utiliser en fonction de ce qui est le plus approprié. –