Ho un oggetto COM dynamic
come campo privato nella mia classe. Non sono sicuro che sia considerato una risorsa gestita (GC lo pulisce) oppure no.Gli oggetti COM dinamici sono considerati risorse gestite?
private dynamic _comConnector = null;
...
_comConnector = Activator.CreateInstance(Type.GetTypeFromProgID("SomeProgId"));
Nell'attuare IDispose, dovrei ripulirlo come una risorsa gestita (solo quando Dispose() viene chiamato in modo esplicito), o come risorsa nativa (quando Dispose (falso) viene chiamato anche dal finalizzatore)?
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 pulisce. Non implementa IDisposable quindi non c'è niente da smaltire. –
Ottenuto qui dopo il googling 'è Activator.CreateInstance gestito o non gestito' ... e stavo cercando a causa di Dispose. –