Dalam bidang pengaturcaraan C#, menggunakan
untuk membolehkan GUI memproses mesej masih menjadi topik kontroversi. Fungsi yang tidak jelas dan berbahaya ini berasal dari VB6, menjadikan banyak pemaju meragui keberkesanannya. Application.DoEvents()
DoEvents
Application.doevents () selamat?
Walaupun dalam C#, sangat disyorkan untuk tidak menggunakannya kerana mudah untuk menyebabkan kesilapan runtime yang halus tetapi bencana. Kecuali pemaju sepenuhnya memahami mekanisme operasi kompleks mereka dan bagaimana untuk mencegah pengguna memasuki impak ke atasnya, ia tidak layak untuk pengembaraan.
Application.doevents () Apa sebenarnya yang dilakukan?
Application.DoEvents()
Berbeza dengan pandangan umum,
Application.doevents () Bahaya
adalah ciri -ciri yang tidak membezakan. Dengan konsesi kepada semua berita, ia membuka pintu untuk satu siri bencana yang berpotensi. Sebagai contoh, apabila kitaran mengendalikan dengan tekun, pengguna boleh menutup tetingkap utama. Walaupun antara muka pengguna mungkin hilang buat sementara waktu, kod anda akan terus berjalan, tidak mengetahui apa -apa tentang bencana yang akan datang. Application.DoEvents()
yang sama disebabkan oleh panggilan kedua, dan bahaya lain akan berlaku. Ini akan membawa kepada kitaran bersarang yang berbahaya, dan setiap kitaran tanpa sadar memusnahkan kerja kitaran sebelumnya, yang membawa kepada keadaan huru -hara kerosakan data dan kemalangan yang tidak normal.
Application.doevents () alternatif?
Sudah tentu! Kaedah yang disyorkan untuk merealisasikan antara muka pengguna yang tidak bebas adalah menggunakan benang atau lebih moden Application.DoEvents()
dan Application.DoEvents()
kata kunci. Teknologi ini menyediakan kaedah yang lebih berstruktur dan lebih selamat untuk menguraikan pemprosesan UI dengan seluruh kod, dengan itu mengelakkan perangkap yang bersembunyi di bayang -bayang.
Atas ialah kandungan terperinci Adakah Application.DoEvents () selamat dan sekiranya anda menggunakan alternatif dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!