IAsyncDisposable.DisposeAsync Méthode

Définition

Effectue des tâches définies par l’application associées à la libération, à la libération ou à la réinitialisation asynchrone des ressources non managées.

public:
 System::Threading::Tasks::ValueTask DisposeAsync();
public System.Threading.Tasks.ValueTask DisposeAsync();
abstract member DisposeAsync : unit -> System.Threading.Tasks.ValueTask
Public Function DisposeAsync () As ValueTask

Retours

Tâche qui représente l’opération de suppression asynchrone.

Remarques

Utilisez cette méthode pour fermer ou libérer de manière asynchrone des ressources non managées telles que des fichiers, des flux et des handles détenus par une instance de la classe qui implémente cette interface. L’utilisation de cette méthode au lieu de vous permettre d’effectuer une opération de IDisposable.Dispose suppression intensive des ressources sans bloquer le thread principal d’une application GUI pendant longtemps.

Avertissement

Si vous utilisez une classe qui implémente l’interface IAsyncDisposable , vous devez appeler son DisposeAsync implémentation lorsque vous avez terminé d’utiliser la classe. Pour plus d’informations, consultez la section « Utilisation d’un objet qui implémente IAsyncDisposable » dans la IAsyncDisposable rubrique.

Lors de l’implémentation de cette méthode, assurez-vous que toutes les ressources détenues sont libérées en propageant l’appel via la hiérarchie de confinement. Par exemple, si un objet A alloue un objet B et que L’objet B alloue un objet C, l’implémentation d’A DisposeAsync doit appeler DisposeAsync B, qui doit à son tour appeler DisposeAsync C. Un objet doit également appeler la DisposeAsync méthode de sa classe de base si la classe de base implémente IAsyncDisposable.

Si la méthode d’un DisposeAsync objet est appelée plusieurs fois, l’objet doit ignorer tous les appels après le premier et renvoyer de manière synchrone une opération réussie ValueTask. L’objet ne doit pas lever d’exception si sa méthode DisposeAsync est appelée plusieurs fois. Méthodes d’instance autres que DisposeAsync celles pouvant lever une ObjectDisposedException fois les ressources déjà supprimées.

S’applique à