Вызывает ли Marshal.ReleaseComObject сборщик мусора? - PullRequest
0 голосов
/ 25 марта 2010

Мне сегодня задал этот вопрос коллега, и я не смог найти никакой подсказки в Интернете ... Может кто-нибудь сказать мне, если вызов Marshall.ReleaseComObject() напрямую вызывает сборщик мусора? Насколько я понимаю, он удаляет только ссылки COM, а затем G.C. очищает память при следующем проходе, но я могу ошибаться ...

Заранее спасибо за помощь!

1 Ответ

3 голосов
/ 25 марта 2010

Просмотр реализации ReleaseComObject в Reflector показывает, что это не так. В конце концов он вызывает собственный метод, но я был бы удивлен, если бы это могло как-то заставить сборщик мусора.

В документации RCW говорится, что

Среда выполнения выполняет сборку мусора на RCW.

Я бы интерпретировал это, поскольку RCW обрабатывается обычным GC.

...