Bolehkah pembina C# memanggil kaedah tak segerak?
Pembina dalam C# biasanya digunakan untuk memulakan medan contoh atau menyediakan infrastruktur. Walau bagaimanapun, pembangun mungkin menghadapi situasi di mana mereka perlu melakukan operasi tak segerak dalam pembina.
Penjelasan terperinci masalah
Masalah berlaku apabila memanggil kaedah tak segerak daripada pembina, yang mengembalikan kawalan kepada pemanggil selepas memulakan tugas. Oleh kerana pembina melaksanakan dalam konteks yang disegerakkan, menggunakan await
atau Task.Result
boleh menyekat urutan UI, menyebabkan aplikasi berpotensi menjadi tidak bertindak balas.
Penyelesaian yang disyorkan
Untuk mengelak daripada menyekat urutan UI dan memastikan pemprosesan tak segerak yang betul, adalah disyorkan untuk mempertimbangkan sifat tak segerak proses muat turun semasa mereka bentuk aplikasi anda. Pembina halaman harus menyediakan paparan yang menunjukkan bahawa data sedang diambil dan memulakan operasi muat turun. Setelah muat turun selesai, halaman hendaklah dikemas kini untuk memaparkan data yang diambil.
Lebih banyak sumber
Atas ialah kandungan terperinci Bolehkah Anda Menggunakan Kaedah Async dalam C# Constructors?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!