IAsyncDisposable.DisposeAsync Metoda

Definice

Provádí úlohy definované aplikací přidružené k uvolnění, uvolnění nebo resetování nespravovaných prostředků asynchronně.

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

Návraty

Úloha, která představuje asynchronní operaci dispose.

Poznámky

Pomocí této metody můžete asynchronně zavřít nebo uvolnit nespravované prostředky, jako jsou soubory, datové proudy a obslužné rutiny uchovávané instancí třídy, která implementuje toto rozhraní. Pomocí této metody IDisposable.Dispose místo toho můžete provádět operaci odstranění náročné na prostředky bez blokování hlavního vlákna aplikace grafického uživatelského rozhraní po dlouhou dobu.

Warning

Pokud používáte třídu, která implementuje IAsyncDisposable rozhraní, měli byste po dokončení používání třídy volat její DisposeAsync implementaci. Další informace naleznete v části Použití objektu, který implementuje IAsyncDisposable v IAsyncDisposable tématu.

Při implementaci této metody zajistěte, aby všechny uchovávané prostředky byly uvolněny šířením volání prostřednictvím hierarchie omezení. Pokud například objekt A přiděluje objekt B a objekt B přidělí objekt C, pak implementace A DisposeAsync musí volat DisposeAsync B, což musí zase volat DisposeAsync C. Objekt musí také volat metodu DisposeAsync své základní třídy, pokud základní třída implementuje IAsyncDisposable.

Pokud je metoda objektu DisposeAsync volána více než jednou, musí objekt ignorovat všechna volání po prvním a synchronně vrátit úspěšně dokončený ValueTask. Objekt nesmí vyvolat výjimku, pokud je jeho DisposeAsync metoda volána vícekrát. Jiné metody instance, než DisposeAsync mohou vyvolat, ObjectDisposedException když jsou prostředky již uvolněny.

Platí pro