Если я использую ManagementObjectSearcher
, я могу легко заключить его в с помощью блока
:
using (var searcher = new ManagementObjectSearcher(scope, query))
{
// ...
}
Это также просто для удаления коллекции, возвращенной искателем , в связи с тем, что foreach
автоматически вызывает dispose в перечислителе :
using (var searcher = new ManagementObjectSearcher(scope, query))
{
foreach(ManagementObject mo in searcher.Get())
{
// ...
}
}
Но ManagementObject
также реализует IDisposable
:
using (var searcher = new ManagementObjectSearcher(scope, query))
{
foreach(ManagementObject mo in searcher.Get())
{
// ...
mo.Dispose(); // ?
}
}
ManagementObject
, возвращенный в этом сценарии? Dispose
)? Особенно с такими конструкциями, как searchcher.Get (). First ()
? Edit : Еще несколько связанных вопросов:
Dispose
в коллекции результатов поиска? Они оба также реализуют свой собственный метод IDisposable
, хотя похоже, что поисковик наследует только реализацию Dispose
от Компонент
; он не добавляет собственного поведения удаления.