¿Cómo deshacerse de los objetos que tienen métodos asincrónicos llamados?
Tengo este objetoPreloadClient
que implementaIDisposable
, Quiero deshacerme de él, pero después de que los métodos asincrónicos terminen su llamada ... lo que no sucede
private void Preload(SlideHandler slide)
{
using(PreloadClient client = new PreloadClient())
{
client.PreloadCompleted += client_PreloadCompleted;
client.Preload(slide);
}
// Here client is disposed immediately
}
private void client_PreloadCompleted(object sender, SlidePreloadCompletedEventArgs e)
{
// this is method is called after a while,
// but errors are thrown when trying to access object state (fields, properties)
}
Entonces, ¿alguna idea o solución?