Baca dalam bahasa Inggris

Bagikan melalui


AsyncCompletedEventArgs Kelas

Definisi

Menyediakan data untuk peristiwa MethodNameCompleted .

C#
public class AsyncCompletedEventArgs : EventArgs
Warisan
AsyncCompletedEventArgs
Turunan

Contoh

Contoh kode berikut menunjukkan penggunaan AsyncOperation untuk melacak masa pakai operasi asinkron. Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk System.ComponentModel.AsyncOperationManager kelas .

C#
using System;
using System.Collections;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Globalization;
using System.Threading;
using System.Windows.Forms;
C#
// This event handler updates the ListView control when the
// PrimeNumberCalculator raises the CalculatePrimeCompleted
// event. The ListView item is updated with the appropriate
// outcome of the calculation: Canceled, Error, or result.
private void primeNumberCalculator1_CalculatePrimeCompleted(
    object sender, 
    CalculatePrimeCompletedEventArgs e)
{
    Guid taskId = (Guid)e.UserState;

    if (e.Cancelled)
    {   
        string result = "Canceled";

        ListViewItem lvi = UpdateListViewItem(taskId, result);

        if (lvi != null)
        {
            lvi.BackColor = Color.Pink;
            lvi.Tag = null;
        }
    }
    else if (e.Error != null)
    {
        string result = "Error";

        ListViewItem lvi = UpdateListViewItem(taskId, result);

        if (lvi != null)
        {
            lvi.BackColor = Color.Red;
            lvi.ForeColor = Color.White;
            lvi.Tag = null;
        }
    }
    else
    {   
        bool result = e.IsPrime;

        ListViewItem lvi = UpdateListViewItem(
            taskId, 
            result, 
            e.FirstDivisor);

        if (lvi != null)
        {
            lvi.BackColor = Color.LightGray;
            lvi.Tag = null;
        }
    }
}

Keterangan

Jika Anda menggunakan kelas yang mengimplementasikan Gambaran Umum Pola Asinkron Berbasis Peristiwa, kelas akan menyediakan peristiwa MethodNameCompleted . Jika Anda menambahkan instans System.ComponentModel.AsyncCompletedEventHandler delegasi ke peristiwa, Anda akan menerima informasi tentang hasil operasi asinkron dalam AsyncCompletedEventArgs parameter metode penanganan aktivitas yang sesuai.

Delegasi penanganan aktivitas aplikasi klien dapat memeriksa Cancelled properti untuk menentukan apakah tugas asinkron dibatalkan.

Delegasi penanganan aktivitas aplikasi klien dapat memeriksa Error properti untuk menentukan apakah terjadi pengecualian selama eksekusi tugas asinkron.

Jika kelas mendukung beberapa metode asinkron, atau beberapa panggilan ke metode asinkron yang sama, Anda dapat menentukan tugas mana yang menaikkan peristiwa MethodNameCompleted dengan memeriksa nilai UserState properti . Kode Anda perlu melacak token ini, yang dikenal sebagai ID tugas, saat tugas asinkron yang sesuai dimulai dan selesai.

Catatan Bagi Inheritor

Kelas yang mengikuti Pola Asinkron berbasis Peristiwa dapat meningkatkan peristiwa untuk memperingatkan klien tentang status operasi asinkron yang tertunda. Jika kelas menyediakan peristiwa MethodNameCompleted , Anda dapat menggunakan AsyncCompletedEventArgs untuk memberi tahu klien tentang hasil operasi asinkron.

Anda mungkin ingin berkomunikasi dengan klien informasi lebih lanjut tentang hasil operasi asinkron daripada yang AsyncCompletedEventArgs mengakomodasi. Dalam hal ini, Anda dapat memperoleh kelas Anda sendiri dari AsyncCompletedEventArgs kelas dan menyediakan variabel instans privat tambahan dan properti publik baca-saja yang sesuai. RaiseExceptionIfNecessary() Panggil metode sebelum mengembalikan nilai properti, jika operasi dibatalkan atau terjadi kesalahan.

Konstruktor

AsyncCompletedEventArgs()
Kedaluwarsa.

Menginisialisasi instans baru kelas AsyncCompletedEventArgs.

AsyncCompletedEventArgs(Exception, Boolean, Object)

Menginisialisasi instans baru kelas AsyncCompletedEventArgs.

Properti

Cancelled

Mendapatkan nilai yang menunjukkan apakah operasi asinkron telah dibatalkan.

Error

Mendapatkan nilai yang menunjukkan kesalahan mana yang terjadi selama operasi asinkron.

UserState

Mendapatkan pengidentifikasi unik untuk tugas asinkron.

Metode

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
MemberwiseClone()

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
RaiseExceptionIfNecessary()

Meningkatkan pengecualian yang disediakan pengguna jika operasi asinkron gagal.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)

Berlaku untuk

Produk Versi
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0

Lihat juga