В С# class Process
наследуется от class Component
, который реализует IDisposable
, и поэтому я могу вызвать Dispose()
для любого объекта Process
. Неужели мне это нужно? Как узнать, действительно ли мне нужно?
Предположим, что у меня есть следующий код:
var allProcesses = System.Diagnostics.Process.GetProcesses();
var processesNames = processes.Select( p => p.ProcessName );
// output process names here
Теперь похоже, что у меня есть массив объектов Process
, и у меня есть craft try-finally
для перемещения массива и Dispose()
к каждому объекту. Это определенно много дополнительного кода.
Что делает Dispose()
для объектов Process
? Мне действительно нужно Dispose()
каждый объект Process
и как я могу решить, нужно ли мне это делать?