Я пишу класс Excel и хочу автоматически освободить этот неуправляемый объект. Я использую шаблон IDisposable и пишу методы Dispose. Пример ;
class MSExcel : IDisposable
{
ApplicationClass excel;
bool disposed;
public MSExcel()
{
disposed = false;
excel = new ApplicationClass();
}
public void Dispose(bool disposing)
{
if (!this.disposed)
{
if (disposing)
{
}
excel.Quit();
disposed = true;
}
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
~MSExcel()
{
Dispose(false);
}
}
Но у меня классическая ошибка exc.Quit (). «COM-объект, который был отделен от основного RCW». Есть ли у меня ошибка в коде?