Как избавиться от объектов, имеющих асинхронные методы?
У меня есть этот объектPreloadClient
который реализуетIDisposable
Я хочу избавиться от него, но после того, как асинхронные методы завершают свой вызов ... чего не происходит
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)
}
Итак, какие-либо идеи или обходные пути?