Tôi có một đối tượng COM dynamic
COM làm trường riêng tư trong lớp học của mình. Tôi không chắc liệu nó được coi là tài nguyên được quản lý (GC làm sạch nó) hay không.Các đối tượng COM động có được coi là tài nguyên được quản lý không?
private dynamic _comConnector = null;
...
_comConnector = Activator.CreateInstance(Type.GetTypeFromProgID("SomeProgId"));
Khi thực hiện IDispose, tôi nên làm sạch nó lên như một nguồn lực quản lý (chỉ khi Dispose() được gọi một cách rõ ràng), hoặc như một nguồn tài nguyên tự nhiên (khi Dispose (false) được gọi từ finalizer)?
private void Dispose(bool disposing)
{
if (disposing)
{
// Free managed resources //
// --> Should I call Marshal.FinalReleaseComObject(_comConnector) here?
}
// Free unmanaged resources //
// --> Or maybe here?
}
Có, GC làm sạch nó. Nó không thực hiện IDisposable vì vậy không có gì để vứt bỏ. –
Có ở đây sau khi googling 'là Activator.CreateInstance quản lý hoặc unmanaged' ... và tôi đã tìm kiếm vì Vứt bỏ. –