IClosable.Close 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.
Merilis sumber daya sistem yang diekspos oleh objek Windows Runtime.
.BERSIH Antarmuka ini muncul sebagai System.IDisposable.
C++/CX Antarmuka ini muncul sebagai Platform::IDisposable.
public:
void Close();
void Close();
public void Close();
function close()
Public Sub Close ()
Keterangan
Catatan implementasi/pemanggil yang mengikuti sangat relevan untuk WRL.
Catatan untuk pelaksana
Terapkan metode ini untuk merilis sumber daya sistem eksklusif yang sedang digunakan, seperti handel file, aliran, dan soket jaringan. Metode ini juga harus merilis sumber daya lain yang sedang digunakan, termasuk referensi objek dan memori, untuk mempersiapkannya untuk digunakan kembali.
Metode ini harus memanggil metode Tutup dari objek apa pun yang dipegangnya yang mengimplementasikan IClosable.
Metode Tutup harus merilis sumber daya sistem secepat mungkin, tanpa memblokir operasi asinkron untuk diselesaikan. Untuk memastikan bahwa semua sumber daya benar-benar dirilis, pemanggil harus menunggu semua operasi asinkron yang luar biasa selesai sebelum memanggil Tutup.
Setelah Tutup kembali, objek masih dalam memori tetapi tanpa sumber daya sistem yang dibutuhkan; oleh karena itu, sebagian besar anggotanya tidak dapat digunakan. Anggota yang bergantung pada sumber daya sistem yang dirilis dapat mengembalikan RO_E_CLOSED untuk menunjukkan bahwa objek ditutup dan tidak dapat menyelesaikan operasi yang diminta.
Catatan untuk penelepon
Jika Anda memanggil Tutup beberapa kali, tidak ada efek; metode mengembalikan S_OK.
Metode penutupan tidak dapat dipanggil melalui C++/CX pada instans kelas Windows Runtime tempat kelas menerapkan IClosable, tetapi secara otomatis dipanggil di akhir cakupan saat ini. Kode C++/CX untuk kelas runtime harus memanggil destruktor atau mengatur referensi terakhir ke null.
Dalam C#, metode ini diekspos sebagai Buang. Anda dapat memanggil Buang secara langsung atau menggunakan pernyataan penggunaan.