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