IAsyncDisposable.DisposeAsync Méthode

Définition

Exécute les tâches définies par l'application associées à la libération ou à la redéfinition 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

ValueTask

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 permet d’effectuer une opération de IDisposable.Dispose suppression gourmande en 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 retourner de manière synchrone une opération réussie ValueTask. L’objet ne doit pas lever d’exception si sa DisposeAsync méthode est appelée plusieurs fois. Méthodes d’instance autres que DisposeAsync la levée d’une ObjectDisposedException exception quand les ressources sont déjà supprimées.

S’applique à