我有一个dynamic
COM对象作为我的班级中的私人领域。我不确定它是否被认为是托管资源(GC可以清理它),或者不是。动态COM对象是否被视为受管资源?
private dynamic _comConnector = null;
...
_comConnector = Activator.CreateInstance(Type.GetTypeFromProgID("SomeProgId"));
在实施IDispose,我应该清理作为一个管理资源(仅当Dispose()方法被显式调用),或作为本地资源(时的Dispose(假)从终结者也被调用)?
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托管或非托管'...我正在寻找因为处置。 –