AsyncCompletedEventArgs Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
- 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) |