Aracılığıyla paylaş


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

ValueTask

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.

Uyarı

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 konunun "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 yayarak 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 üzerinde çağrı DisposeAsync yapmalıdır. Temel sınıf uygularsa IAsyncDisposablebir nesnenin de temel sınıfının yöntemini çağırması DisposeAsync gerekir.

Bir nesnenin DisposeAsync yöntemi birden çok kez çağrılırsa, nesnenin ilkinden sonraki tüm çağrıları yoksayması ve başarıyla tamamlanan ValueTaskbir öğesini zaman uyumlu olarak 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