IAsyncDisposable.DisposeAsync Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Voert door de toepassing gedefinieerde taken uit die zijn gekoppeld aan het vrijmaken, vrijgeven of opnieuw instellen van onbeheerde resources asynchroon.
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
Retouren
Een taak die de asynchrone verwijderingsbewerking aangeeft.
Opmerkingen
Gebruik deze methode om onbeheerde resources zoals bestanden, streams en handles die worden bewaard door een instantie van de klasse die deze interface implementeert, asynchroon te sluiten of vrij te geven. Met deze methode kunt u in plaats van IDisposable.Dispose een resourceintensieve verwijderingsbewerking uitvoeren zonder de hoofdthread van een GUI-toepassing lange tijd te blokkeren.
Waarschuwing
Als u een klasse gebruikt waarmee de interface wordt geïmplementeerd, moet u de IAsyncDisposableDisposeAsync implementatie aanroepen wanneer u klaar bent met het gebruik van de klasse. Zie de sectie 'Using an object that implements IAsyncDisposable' (Een object gebruiken dat IAsyncDisposable implementeert) in het IAsyncDisposable onderwerp voor meer informatie.
Zorg er bij het implementeren van deze methode voor dat alle bewaarde resources worden vrijgemaakt door de aanroep door te geven via de insluitingshiërarchie. Als een object A bijvoorbeeld een object B toewijst en object B een object C toewijst, moet de implementatie van DisposeAsync A een aanroep DisposeAsync van B aanroepenDisposeAsync. Dit moet C inschakelen. Een object moet ook de methode van de DisposeAsync basisklasse aanroepen als de basisklasse wordt geïmplementeerdIAsyncDisposable.
Als de methode van DisposeAsync een object meerdere keren wordt aangeroepen, moet het object alle aanroepen negeren na de eerste aanroepen en synchroon een voltooide ValueTaskwaarde retourneren. Het object mag geen uitzondering genereren als de methode DisposeAsync meerdere keren wordt aangeroepen. Andere exemplaarmethoden dan DisposeAsync kunnen een ObjectDisposedException instantiemethode werpen wanneer resources al worden verwijderd.