IAsyncDisposable.DisposeAsync Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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.