dynamic
クラスのプライベート フィールドとして 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?
}