Ich habe ein COM-Objekt dynamic
als ein privates Feld in meiner Klasse. Ich bin mir nicht sicher, ob es sich um verwaltete Ressourcen handelt (GC räumt auf) oder nicht.Werden dynamische COM-Objekte als verwaltete Ressourcen betrachtet?
private dynamic _comConnector = null;
...
_comConnector = Activator.CreateInstance(Type.GetTypeFromProgID("SomeProgId"));
Wenn IDispose Umsetzung reinige ich es oben als verwaltete Ressource (nur wenn Dispose() explizit genannt wird), oder als native Ressource (wenn Dispose (false) wird auch vom Finalizer aufgerufen)?
private void Dispose(bool disposing)
{
if (disposing)
{
// Free managed resources //
// --> Should I call Marshal.FinalReleaseComObject(_comConnector) here?
}
// Free unmanaged resources //
// --> Or maybe here?
}
Ja, GC räumt auf. Es implementiert IDisposable nicht, also gibt es nichts zu beseitigen. –
Nach dem googlen hier ist "Activator.CreateInstance verwaltet oder unmanaged" ... und ich suchte wegen Dispose. –