AsyncCompletedEventArgs クラス
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
MethodNameCompleted
イベントのデータを提供します。
public ref class AsyncCompletedEventArgs : EventArgs
public class AsyncCompletedEventArgs : EventArgs
type AsyncCompletedEventArgs = class
inherit EventArgs
Public Class AsyncCompletedEventArgs
Inherits EventArgs
- 継承
- 派生
次のコード例では、 を AsyncOperation 使用して非同期操作の有効期間を追跡する方法を示します。 このコード例は、System.ComponentModel.AsyncOperationManager クラスのために提供されている大規模な例の一部です。
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
イベント ベースの非同期パターンの概要を実装するクラスを使用している場合、クラスは MethodNameCompleted
イベントを提供します。 デリゲートの System.ComponentModel.AsyncCompletedEventHandler インスタンスをイベントに追加すると、対応するイベント ハンドラー メソッドの パラメーターで AsyncCompletedEventArgs 非同期操作の結果に関する情報を受け取ります。
クライアント アプリケーションのイベント ハンドラー デリゲートは、 プロパティをチェックCancelledして、非同期タスクが取り消されたかどうかを判断できます。
クライアント アプリケーションのイベント ハンドラー デリゲートは、 プロパティをチェックErrorして、非同期タスクの実行中に例外が発生したかどうかを判断できます。
クラスで複数の非同期メソッドがサポートされている場合、または同じ非同期メソッドの複数の呼び出しがサポートされている場合は、 プロパティの値を確認することで 、MethodNameCompleted
イベントを発生させたタスクを UserState 特定できます。 コードでは、対応する非同期タスクの開始と完了時に、タスク ID と呼ばれるこれらのトークンを追跡する必要があります。
イベント ベースの非同期パターンに従うクラスは、保留中の非同期操作の状態についてクライアントに警告するイベントを発生させることができます。 クラスが MethodNameCompleted
イベントを提供する場合は、 を AsyncCompletedEventArgs 使用して、非同期操作の結果をクライアントに通知できます。
非同期操作 AsyncCompletedEventArgs の結果に関するより多くの情報をクライアントに伝える必要がある場合があります。 この場合は、 クラスから独自のクラスを派生させ、追加の AsyncCompletedEventArgs プライベート インスタンス変数と、対応する読み取り専用パブリック プロパティを指定できます。 操作が RaiseExceptionIfNecessary() 取り消されたかエラーが発生した場合は、プロパティ値を返す前に メソッドを呼び出します。
Async |
古い.
AsyncCompletedEventArgs クラスの新しいインスタンスを初期化します。 |
Async |
AsyncCompletedEventArgs クラスの新しいインスタンスを初期化します。 |
Cancelled |
非同期操作がキャンセルされたかどうかを示す値を取得します。 |
Error |
非同期操作中に発生したエラーを示す値を取得します。 |
User |
非同期タスクの一意の識別子を取得します。 |
Equals(Object) |
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
Get |
既定のハッシュ関数として機能します。 (継承元 Object) |
Get |
現在のインスタンスの Type を取得します。 (継承元 Object) |
Memberwise |
現在の Object の簡易コピーを作成します。 (継承元 Object) |
Raise |
非同期操作が失敗した場合は、ユーザー指定の例外を発生させます。 |
To |
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
製品 | バージョン |
---|---|
.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 |
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。