내 클래스의 개인 필드로 dynamic
COM 개체가 있습니다. 관리되는 리소스 (GC가이를 정리하는지)로 간주되는지 여부는 확실하지 않습니다.동적 COM 개체가 관리되는 리소스로 간주됩니까?
private dynamic _comConnector = null;
...
_comConnector = Activator.CreateInstance(Type.GetTypeFromProgID("SomeProgId"));
IDispose을 구현할 때, 나는 (폐기()가 명시 적으로 호출 한 경우에만) 관리 자원으로 그것을 청소, 또는해야 할 기본 자원으로 (시 폐기 (거짓)도 파이널 라이저에서 호출됩니까?
private void Dispose(bool disposing)
{
if (disposing)
{
// Free managed resources //
// --> Should I call Marshal.FinalReleaseComObject(_comConnector) here?
}
// Free unmanaged resources //
// --> Or maybe here?
}
예, GC가 정리합니다. IDisposable을 구현하지 않으므로 처분 할 것이 없습니다. –
검색 후 'Activator.CreateInstance가 관리 또는 비 관리'이고 ... Dispose 때문에 찾고있었습니다. –