Trong C# class Process
kế thừa từ class Component
triển khai IDisposable
và vì vậy tôi có thể gọi Dispose()
trên bất kỳ đối tượng Process
nào. Tôi có thực sự phải không? Làm thế nào để tôi biết nếu tôi thực sự phải?Process.Dispose() thực sự làm gì?
Giả sử tôi có đoạn mã sau:
var allProcesses = System.Diagnostics.Process.GetProcesses();
var processesNames = processes.Select(p => p.ProcessName);
// output process names here
Bây giờ có vẻ như tôi có một loạt các Process
đối tượng và tôi có nghề một try-finally
đi qua mảng và Dispose()
từng đối tượng. Đó chắc chắn là rất nhiều mã phụ.
Điều gì làm Dispose()
làm cho các đối tượng Process
? Tôi có thực sự cần phải Dispose()
mỗi đối tượng Process
và làm cách nào để quyết định xem tôi có cần phải làm như vậy không?
thời gian phản xạ? –