IAsyncDisposable.DisposeAsync Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Utför programdefinierade uppgifter som är associerade med att frigöra, frigöra eller återställa ohanterade resurser asynkront.
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
Returer
En uppgift som representerar den asynkrona bortskaffandeåtgärden.
Kommentarer
Använd den här metoden för att asynkront stänga eller frigöra ohanterade resurser, till exempel filer, strömmar och handtag som innehas av en instans av klassen som implementerar det här gränssnittet. Med den här metoden i stället IDisposable.Dispose för kan du utföra en resursintensiv borttagningsåtgärd utan att blockera huvudtråden i ett GUI-program under en längre tid.
Varning
Om du använder en klass som implementerar IAsyncDisposable gränssnittet bör du anropa dess DisposeAsync implementering när du är klar med klassen. Mer information finns i avsnittet "Använda ett objekt som implementerar IAsyncDisposable" i ämnet IAsyncDisposable .
När du implementerar den här metoden ska du se till att alla lagrade resurser frigörs genom att anropet sprids via inneslutningshierarkin. Om ett objekt A till exempel allokerar ett objekt B och objekt B allokerar ett objekt C, måste A:s DisposeAsync implementering anropa DisposeAsync B, vilket i sin tur måste anropa DisposeAsync C. Ett objekt måste också anropa metoden för DisposeAsync basklassen om basklassen implementerar IAsyncDisposable.
Om ett objekts -metod anropas DisposeAsync mer än en gång måste objektet ignorera alla anrop efter den första och synkront returnera en slutförd ValueTask. Objektet får inte utlösa ett undantag om dess DisposeAsync-metod anropas flera gånger. Andra instansmetoder än DisposeAsync kan utlösa en ObjectDisposedException när resurser redan har tagits bort.