2010-03-25 8 views
0

Cette question m'a été posée par un collègue aujourd'hui, et je n'ai trouvé aucun indice sur Internet ... Quelqu'un peut-il me contacter si j'appelle Marshall.ReleaseComObject() ou s'il appelle directement le garbage collector? Si je comprends bien, il supprime seulement les références COM, puis le G.C. nettoie la mémoire sur sa prochaine passe, mais je peux me tromper ...Est-ce que Marshal.ReleaseComObject appelle le garbage collector?

Merci d'avance pour votre aide! Si l'on regarde l'implémentation de ReleaseComObject dans Reflector, cela montre que ce n'est pas le cas pour l'implémentation de ReleaseComObject dans Reflector.

Répondre

3

Il appelle finalement une méthode native, mais je serais surpris si cela pouvait en quelque sorte forcer un ramassage des ordures.

Le documentation of RCW dit que

Le temps d'exécution effectue la collecte des ordures sur le BRF.

Je voudrais interpréter cela comme le RCW est géré par GC régulière.

+0

Merci beaucoup Brian! – Shimrod

Questions connexes