C# + COM Interop, deterministic release
问题 COM objects usually have deterministic destruction: they are freed when the last reference is released. How is this handled in C# - COM Interop? The classes don't implement IDisposable , so I see no way to trigger an explicit IUnknown::Release. A casual test shows that unreferenced COM objects get collected lazily (i.e. the garbage collector is triggering the release). What should I do for OCM objects that need to be released aggresively? (e.g. holding large or shared critical ressources)?