IAsyncDisposable.DisposeAsync Yöntem

Tanım

Yönetilmeyen kaynakları zaman uyumsuz olarak serbest bırakma, serbest bırakma veya sıfırlama ile ilişkili uygulama tanımlı görevleri gerçekleştirir.

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

Döndürülenler

Zaman uyumsuz atma işlemini temsil eden bir görev.

Açıklamalar

Bu arabirimi uygulayan sınıfın bir örneği tarafından tutulan dosyalar, akışlar ve tanıtıcılar gibi yönetilmeyen kaynakları zaman uyumsuz olarak kapatmak veya serbest bırakmak için bu yöntemi kullanın. Yerine bu yöntemi kullanmak, gui uygulamasının IDisposable.Dispose ana iş parçacığını uzun süre engellemeden yoğun kaynak kullanımlı bir atma işlemi gerçekleştirmenizi sağlar.

Warning

Arabirimini uygulayan IAsyncDisposable bir sınıf kullanıyorsanız, sınıfını kullanmayı bitirdiğinizde onun DisposeAsync uygulamasını çağırmanız gerekir. Daha fazla bilgi için konu başlığındaki "IAsyncDisposable uygulayan bir nesne kullanma" bölümüne IAsyncDisposable bakın.

Bu yöntemi uygularken, çağrıyı kapsama hiyerarşisi aracılığıyla dağıtarak tutulan tüm kaynakların serbest olduğundan emin olun. Örneğin, A nesnesi bir B nesnesi ayırırsa ve B nesnesi bir C nesnesi ayırırsa, A'nın DisposeAsync uygulaması B'de çağrı DisposeAsync yapmalıdır ve bu da C'de çağrı DisposeAsync yapmalıdır. Temel sınıf uygularsaDisposeAsync, bir nesnenin de temel sınıfının yöntemini çağırması IAsyncDisposable gerekir.

Bir nesnenin DisposeAsync yöntemi birden çok kez çağrılırsa, nesnenin ilkinden sonra tüm çağrıları yoksayması ve zaman uyumlu olarak başarıyla tamamlanan ValueTaskbir döndürmesi gerekir. Yöntemi birden çok kez çağrılırsa DisposeAsync nesne özel durum oluşturmamalıdır. dışındaki DisposeAsync örnek yöntemleri, kaynaklar zaten atıldığında bir ObjectDisposedException oluşturabilir.

Şunlara uygulanır