En C# class Process
hérite de class Component
qui implémente IDisposable
et ainsi je peux appeler Dispose()
sur n'importe quel objet Process
. Dois-je vraiment? Comment savoir si je dois vraiment le faire?Que fait réellement Process.Dispose()?
Supposons que j'ai le code suivant:
var allProcesses = System.Diagnostics.Process.GetProcesses();
var processesNames = processes.Select(p => p.ProcessName);
// output process names here
Il semble maintenant que j'ai un tableau de Process
objets et j'ai un métier try-finally
pour traverser la baie et Dispose()
chaque objet. C'est certainement beaucoup de code supplémentaire. Qu'est-ce que Dispose()
fait pour Process
objets? Ai-je vraiment besoin de Dispose()
chaque objet Process
et comment puis-je décider si j'ai besoin de le faire?
temps de réflecteur? –