Memanggil Kaedah Async daripada Main()
Salah satu ciri baharu yang diperkenalkan dalam C# ialah sokongan untuk pengaturcaraan tak segerak. Ini membolehkan anda melakukan operasi yang berjalan lama tanpa menyekat urutan utama, yang boleh membawa kepada antara muka pengguna yang lebih responsif.
Dalam sampel kod yang disediakan, anda mempunyai kaedah async dipanggil Go() yang anda mahu panggilan daripada kaedah Utama(). Untuk melakukan ini, anda boleh menggunakan salah satu daripada dua pendekatan:
Pilihan 1: Menggunakan async/wait (C# 7.1 dan lebih baharu)
Dalam C# 7.1 dan lebih baharu, anda boleh menggunakan kata kunci async untuk menjadikan kaedah Main() anda sebagai asynchronous. Ini membolehkan anda menunggu keputusan kaedah Go() tanpa menyekat utas utama.
static async Task Main(string[] args) { test t = new test(); await t.Go(); Console.WriteLine("finished"); Console.ReadKey(); }
Pilihan 2: Menggunakan Penyekatan (untuk versi C# sebelum 7.1)
Untuk versi C# sebelum 7.1, anda boleh menggunakan kaedah Wait() untuk menyekat utas utama sehingga kaedah Go() mempunyai selesai.
static void Main(string[] args) { test t = new test(); t.Go().Wait(); Console.WriteLine("finished"); Console.ReadKey(); }
Pendekatan yang anda gunakan dalam sampel kod anda, yang melibatkan panggilan balik, tidak diperlukan. Menggunakan sama ada corak async/wait atau kaedah Wait() akan membolehkan anda memanggil kaedah async dari Main() dengan cara yang mudah.
Atas ialah kandungan terperinci Bagaimanakah saya Boleh Memanggil Kaedah Asynchronous dari Kaedah Utama() dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!