我在我的类中有一个动态
COM 对象作为私有字段。我不确定它是否被认为是托管资源(GC 会清理它),还是非托管资源。
private dynamic _comConnector = null;
...
_comConnector = Activator.CreateInstance(Type.GetTypeFromProgID("SomeProgId"));
在实现IDispose接口时,我应该将其清理为托管资源(仅在显式调用Dispose()时),还是作为本机资源(当从终结器中也调用Dispose(false)时)?
private void Dispose(bool disposing)
{
if (disposing)
{
// Free managed resources //
// --> Should I call Marshal.FinalReleaseComObject(_comConnector) here?
}
// Free unmanaged resources //
// --> Or maybe here?
}