Share via


AsyncCompletedEventArgs Kelas

Definisi

Menyediakan data untuk peristiwa MethodNameCompleted .

public ref class AsyncCompletedEventArgs : EventArgs
public class AsyncCompletedEventArgs : EventArgs
type AsyncCompletedEventArgs = class
    inherit EventArgs
Public Class AsyncCompletedEventArgs
Inherits 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 .

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;
Imports System.Collections
Imports System.Collections.Specialized
Imports System.ComponentModel
Imports System.Drawing
Imports System.Globalization
Imports System.Threading
Imports System.Windows.Forms
// 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;
        }
    }
}
' 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 Sub primeNumberCalculator1_CalculatePrimeCompleted( _
    ByVal sender As Object, _
    ByVal e As CalculatePrimeCompletedEventArgs) _
    Handles primeNumberCalculator1.CalculatePrimeCompleted

    Dim taskId As Guid = CType(e.UserState, Guid)

    If e.Cancelled Then
        Dim result As String = "Canceled"

        Dim lvi As ListViewItem = UpdateListViewItem( _
            taskId, _
            result)

        If (lvi IsNot Nothing) Then
            lvi.BackColor = Color.Pink
            lvi.Tag = Nothing
        End If

    ElseIf e.Error IsNot Nothing Then

        Dim result As String = "Error"

        Dim lvi As ListViewItem = UpdateListViewItem( _
            taskId, result)

        If (lvi IsNot Nothing) Then
            lvi.BackColor = Color.Red
            lvi.ForeColor = Color.White
            lvi.Tag = Nothing
        End If
    Else
        Dim result As Boolean = e.IsPrime

        Dim lvi As ListViewItem = UpdateListViewItem( _
            taskId, _
            result, _
            e.FirstDivisor)

        If (lvi IsNot Nothing) Then
            lvi.BackColor = Color.LightGray
            lvi.Tag = Nothing
        End If
    End If

End Sub

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

Lihat juga