IAsyncDisposable.DisposeAsync Метод

Определение

Выполняет определяемые приложением задачи, связанные с высвобождением или сбросом неуправляемых ресурсов асинхронно.

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

Возвращаемое значение

ValueTask

Задача, представляющая асинхронную операцию закрытия.

Комментарии

Используйте этот метод для асинхронного закрытия или освобождения неуправляемых ресурсов, таких как файлы, потоки и дескрипторы, удерживаемые экземпляром класса, реализующего этот интерфейс. Использование этого метода вместо IDisposable.Dispose позволяет выполнять ресурсоемкие операции удаления без блокирования основного потока приложения с графическим пользовательским интерфейсом в течение длительного времени.

Предупреждение

Если используется класс, реализующий IAsyncDisposable интерфейс, следует вызвать его DisposeAsync реализацию по завершении использования класса. Дополнительные сведения см. в разделе "использование объекта, реализующего Иасинкдиспосабле" статьи IAsyncDisposable .

При реализации этого метода убедитесь, что все удерживаемые ресурсы освобождаются путем распространения вызова через иерархию вложений. Например, если объект A выделяет объект B, а объект б выделяет объект C, то DisposeAsync Реализация метода должна вызываться DisposeAsync в B, который должен в свою очередь вызывать DisposeAsync на языке c. Объект также должен вызывать DisposeAsync метод своего базового класса, если базовый класс реализует IAsyncDisposable .

Если DisposeAsync метод объекта вызывается более одного раза, объект должен пропускать все вызовы после первого и синхронно возвращать успешно завершенные ValueTask . Объект не должен вызывать исключение, если его DisposeAsync метод вызывается несколько раз. Методы экземпляра, отличные от, DisposeAsync могут вызывать исключение, ObjectDisposedException когда ресурсы уже удалены.

Применяется к