Je suis en train d'écrire une classe Excel et je veux libérer cet objet non géré automatiquement. J'utilise le modèle IDisposable et j'écris des méthodes Dispose. Exemple ;
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);
}
}
Mais j'ai une erreur classique sur exc.Quit(). "COM object that has been separated from its underlying RCW". Est-ce qu'il y a une erreur dans le code ?