C# 如何释放后期绑定的COM对象?

C# 如何释放后期绑定的COM对象?,c#,.net,com,release,late-binding,C#,.net,Com,Release,Late Binding,我想我还必须发布后期绑定的COM对象。 但如何直接做到这一点 在我的情况下,我使用C#中的以下代码从Google Earth(简化)获取焦点: 那么,在这种情况下,如何释放相机和Google Earth objects?您可以使用 e、 g 你可以用 e、 g Type oClassType = Type.GetTypeFromProgID("GoogleEarth.ApplicationGE"); object oGE = Activator.CreateInstance(oClassType

我想我还必须发布后期绑定的COM对象。
但如何直接做到这一点

在我的情况下,我使用C#中的以下代码从Google Earth(简化)获取焦点:

那么,在这种情况下,如何释放相机和Google Earth objects?

您可以使用

e、 g

你可以用

e、 g

Type oClassType = Type.GetTypeFromProgID("GoogleEarth.ApplicationGE");
object oGE = Activator.CreateInstance(oClassType);
object oCamera = oGE.GetType().InvokeMember("GetCamera", System.Reflection.BindingFlags.InvokeMethod, null, oGE, new object[] { 0 });
double dFocusLatitude = (double)oCamera.GetType().InvokeMember("FocusPointLatitude", System.Reflection.BindingFlags.GetProperty, null, oCamera, null);
double dFocusLongitude = (double)oCamera.GetType().InvokeMember("FocusPointLongitude", System.Reflection.BindingFlags.GetProperty, null, oCamera, null);
if(Marshal.IsComObject(oGE)==true)
{
  Marshal.ReleaseComObject(oGE);
}