IAsyncDisposable.DisposeAsync Methode

Definition

Führt anwendungsspezifische Aufgaben aus, die mit dem asynchronen Freigeben, Zurückgeben oder Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen.

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

Gibt zurück

ValueTask

Eine Aufgabe, die den asynchronen Löschvorgang darstellt.

Hinweise

Verwenden Sie diese Methode, um nicht verwaltete Ressourcen wie Dateien, Datenströme und Behandeln einer Instanz der Klasse zu schließen oder zu freigeben, die diese Schnittstelle implementiert. Mit dieser Methode IDisposable.Dispose können Sie einen ressourcenintensiven Entsorgevorgang ausführen, ohne den Hauptthread einer GUI-Anwendung für lange Zeit zu blockieren.

Warnung

Wenn Sie eine Klasse verwenden, die die IAsyncDisposable Schnittstelle implementiert, sollten Sie die DisposeAsync Implementierung aufrufen, wenn Sie die Klasse verwenden. Weitere Informationen finden Sie im Abschnitt "Verwenden eines Objekts, das IAsyncDisposable implementiert" im IAsyncDisposable Thema.

Stellen Sie beim Implementieren dieser Methode sicher, dass alle gehaltenen Ressourcen freigestellt werden, indem Sie den Aufruf über die Containmenthierarchie verteilen. Wenn z. B. ein Objekt A ein Objekt B zuordnet und objekt B ein Objekt C zuordnet, muss die Implementierung von A auf B aufrufen, DisposeAsync was den Aufruf DisposeAsync DisposeAsync von C angibt. Ein Objekt muss auch die Methode seiner Basisklasse aufrufen, wenn die DisposeAsync Basisklasse implementiert IAsyncDisposable.

Wenn die Methode eines Objekts DisposeAsync mehr als einmal aufgerufen wird, muss das Objekt alle Aufrufe nach dem ersten Aufrufen ignorieren und synchron einen erfolgreich abgeschlossenen Wert ValueTaskzurückgeben. Das Objekt darf keine Ausnahme auslösen, wenn die DisposeAsync Methode mehrmals aufgerufen wird. Instanzmethoden, die nicht ausgelöst werden könnenObjectDisposedException, DisposeAsync wenn Ressourcen bereits entsorgt werden.

Gilt für: