IAsyncDisposable.DisposeAsync IAsyncDisposable.DisposeAsync IAsyncDisposable.DisposeAsync IAsyncDisposable.DisposeAsync Method

Definition

Führt anwendungsspezifische Aufgaben aus, die mit dem asynchronen Freigeben, Zurückgeben oder Zurücksetzen von nicht verwalteten Ressourcen zusammenhängen.Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources asynchronously.

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

Eine Aufgabe, die den asynchronen Löschvorgang darstellt.A task that represents the asynchronous dispose operation.

Hinweise

Verwenden Sie diese Methode, um asynchron zu schließen oder Freigeben von nicht verwalteten Ressourcen wie z. B. Dateien, Streams und Handles frei, die eine Instanz der Klasse, die diese Schnittstelle implementiert.Use this method to asynchronously close or release unmanaged resources such as files, streams, and handles held by an instance of the class that implements this interface. Mit dieser Methode anstelle von IDisposable.Dispose ermöglicht es Ihnen, ein ressourcenintensiver Dispose-Vorgang ausgeführt wird, ohne den Hauptthread einer GUI-Anwendung für einen langen Zeitraum zu blockieren.Using this method instead of IDisposable.Dispose enables you to perform a resource-intensive dispose operation without blocking the main thread of a GUI application for a long time.

Warnung

Wenn Sie eine Klasse verwenden, die implementiert die IAsyncDisposable -Schnittstelle, rufen Sie die DisposeAsync Implementierung Sie abschließend mithilfe der Klasse.If you are using a class that implements the IAsyncDisposable interface, you should call its DisposeAsync implementation when you are finished using the class. Weitere Informationen finden Sie im Abschnitt "Verwenden ein Objekt, das IAsyncDisposable implementiert" in der IAsyncDisposable Thema.For more information, see the "Using an object that implements IAsyncDisposable" section in the IAsyncDisposable topic.

Wenn Sie diese Methode implementieren, stellen Sie sicher, dass alle Ressourcen freigegeben werden reservierten, indem der Aufruf durch die Kapselungshierarchie.When implementing this method, ensure that all held resources are freed by propagating the call through the containment hierarchy. Angenommen, ein Objekt weist ein Objekt B, und Objekt B eines Objekts C, klicken Sie dann ein DisposeAsync Implementierung muss Aufrufen DisposeAsync auf B die aufrufen muss DisposeAsync in C. Ein Objekt muss auch aufrufen, die DisposeAsync Methode ihrer Basisklasse, wenn die Basisklasse implementiert IAsyncDisposable.For example, if an object A allocates an object B, and object B allocates an object C, then A's DisposeAsync implementation must call DisposeAsync on B, which must in turn call DisposeAsync on C. An object must also call the DisposeAsync method of its base class if the base class implements IAsyncDisposable.

Wenn ein Objekt des DisposeAsync -Methode mehr als einmal aufgerufen wird, wird das Objekt muss ignorieren Sie alle Aufrufe nach der ersten und synchron Zurückgeben einer erfolgreich abgeschlossenen ValueTask.If an object's DisposeAsync method is called more than once, the object must ignore all calls after the first one and synchronously return a successfully completed ValueTask. Das Objekt muss keine Ausnahme ausgelöst, wenn die DisposeAsync Methode mehrmals aufgerufen wird.The object must not throw an exception if its DisposeAsync method is called multiple times. Instanzmethoden außer DisposeAsync Auslösen einer ObjectDisposedException Wenn Ressourcen bereits freigegeben.Instance methods other than DisposeAsync can throw an ObjectDisposedException when resources are already disposed.

Gilt für: