IAsyncDisposable.DisposeAsync Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Melakukan tugas yang ditentukan aplikasi yang terkait dengan membebaskan, merilis, atau mengatur ulang sumber daya yang tidak dikelola secara asinkron.
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
Mengembalikan
Tugas yang mewakili operasi pembuangan asinkron.
Keterangan
Gunakan metode ini untuk menutup atau merilis sumber daya yang tidak dikelola secara asinkron seperti file, aliran, dan penanganan yang dipegang oleh instans kelas yang mengimplementasikan antarmuka ini. Menggunakan metode ini alih-alih IDisposable.Dispose memungkinkan Anda melakukan operasi pembuangan intensif sumber daya tanpa memblokir utas utama aplikasi GUI untuk waktu yang lama.
Warning
Jika Anda menggunakan kelas yang mengimplementasikan IAsyncDisposable antarmuka, Anda harus memanggil implementasinya DisposeAsync ketika Anda selesai menggunakan kelas . Untuk informasi selengkapnya, lihat bagian "Menggunakan objek yang mengimplementasikan IAsyncDisposable" dalam topik.IAsyncDisposable
Saat menerapkan metode ini, pastikan bahwa semua sumber daya yang disimpan dibebaskan dengan menyebarkan panggilan melalui hierarki penahanan. Misalnya, jika objek A mengalokasikan objek B, dan objek B mengalokasikan objek C, maka implementasi A DisposeAsync harus memanggil DisposeAsync pada B, yang pada gilirannya harus memanggil DisposeAsync C. Objek juga harus memanggil DisposeAsync metode kelas dasarnya jika kelas dasar mengimplementasikan IAsyncDisposable.
Jika metode objek DisposeAsync dipanggil lebih dari sekali, objek harus mengabaikan semua panggilan setelah yang pertama dan secara sinkron mengembalikan yang berhasil diselesaikan ValueTask. Objek tidak boleh melemparkan pengecualian jika metodenya DisposeAsync dipanggil beberapa kali. Metode instans selain DisposeAsync dapat melempar ObjectDisposedException ketika sumber daya sudah dibuang.