Tengo un objeto COM dynamic
como campo privado en mi clase. No estoy seguro de si se considera recurso administrado (GC lo limpia) o no.¿Los objetos COM dinámicos se consideran recursos administrados?
private dynamic _comConnector = null;
...
_comConnector = Activator.CreateInstance(Type.GetTypeFromProgID("SomeProgId"));
Al implementar IDispose, debería limpiarlo como un recurso gestionado (sólo cuando Dispose() se llama explícitamente), o como un recurso nativo (cuando Desechar (falso) se llama desde el finalizador también)?
private void Dispose(bool disposing)
{
if (disposing)
{
// Free managed resources //
// --> Should I call Marshal.FinalReleaseComObject(_comConnector) here?
}
// Free unmanaged resources //
// --> Or maybe here?
}
Sí, GC lo limpia. No implementa IDisposable por lo que no hay nada que desechar. –
Tengo aquí después de googlear 'es Activator.CreateInstance administrado o no administrado' ... y estaba buscando a causa de Dispose. –