IAsyncDisposable.DisposeAsync Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.
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.