AsyncCompletedEventArgs Class
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Provides data for the MethodNameCompleted event.
Inheritance Hierarchy
System.Object
System.EventArgs
System.ComponentModel.AsyncCompletedEventArgs
More...
Namespace: System.ComponentModel
Assembly: System (in System.dll)
Syntax
'Declaration
Public Class AsyncCompletedEventArgs _
Inherits EventArgs
public class AsyncCompletedEventArgs : EventArgs
The AsyncCompletedEventArgs type exposes the following members.
Constructors
Name | Description | |
---|---|---|
AsyncCompletedEventArgs() | Initializes a new instance of the AsyncCompletedEventArgs class. | |
AsyncCompletedEventArgs(Exception, Boolean, Object) | Initializes a new instance of the AsyncCompletedEventArgs class. |
Top
Properties
Name | Description | |
---|---|---|
Cancelled | Gets a value that indicates whether an asynchronous operation has been canceled. | |
Error | Gets a value that indicates which error occurred during an asynchronous operation. | |
UserState | Gets the unique identifier for the asynchronous task. |
Top
Methods
Name | Description | |
---|---|---|
Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.) | |
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
RaiseExceptionIfNecessary | Raises a user-supplied exception if an asynchronous operation failed. | |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Top
Remarks
If you are using a class that implements the event-based asynchronous pattern that is described in the Event-based Asynchronous Pattern Overview topic of the .NET Framework documentation, the class will provide a MethodNameCompleted event. If you add an instance of the System.ComponentModel.AsyncCompletedEventHandler delegate to the event, you will receive information about the outcome of asynchronous operations in the AsyncCompletedEventArgs parameter of the corresponding event-handler method.
The client application's event-handler delegate can check the Cancelled property to determine if the asynchronous task was canceled.
The client application's event-handler delegate can check the Error property to determine if an exception occurred during execution of the asynchronous task.
If the class supports multiple asynchronous methods, or multiple calls to the same asynchronous method, you can determine which task raised the MethodNameCompleted event by checking the value of the UserState property. Your code will have to track these tokens, known as task IDs, as their corresponding asynchronous tasks start and complete.
Notes to Inheritors
You may want to communicate to clients more information about the outcome of an asynchronous operation than AsyncCompletedEventArgs supports. In this case, you can derive a custom class from the AsyncCompletedEventArgs class and provide additional private instance variables and corresponding read-only public properties. Call the RaiseExceptionIfNecessary method before you return the property value, in case the operation was canceled or an error occurred.
Examples
The following code example demonstrates how to derive a custom class from AsyncCompletedEventArgs to pass additional information back to the client from an asynchronous operation. This code example is part of a larger example provided for the System.ComponentModel.AsyncOperationManager class.
' Define a custom Completed-event arguments class allowing
' the data gathered by GetPersons to be returned.
Public Class GetPersonsCompletedEventArgs
Inherits AsyncCompletedEventArgs
Private m_dataListValue As List(Of Person)
Public Sub New _
(ByVal dataList As List(Of Person), _
ByVal exception As Exception, _
ByVal cancelled As Boolean, _
ByVal userState As Object)
MyBase.New(exception, cancelled, userState)
m_dataListValue = dataList
End Sub
Public ReadOnly Property DataListValue() As List(Of Person)
Get
Me.RaiseExceptionIfNecessary()
Return m_dataListValue
End Get
End Property
End Class
// Define a custom Completed-event arguments class allowing
// the data gathered by GetPersons to be returned.
public class GetPersonsCompletedEventArgs : AsyncCompletedEventArgs
{
private List<Person> dataListValue;
public GetPersonsCompletedEventArgs(
List<Person> dataList,
Exception error,
bool cancelled,
object userState)
: base(error, cancelled, userState)
{
dataListValue = dataList;
}
public List<Person> DataListValue
{
get
{
this.RaiseExceptionIfNecessary();
return dataListValue;
}
}
}
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
See Also
Reference
Other Resources
Inheritance Hierarchy
System.Object
System.EventArgs
System.ComponentModel.AsyncCompletedEventArgs
System.ComponentModel.RunWorkerCompletedEventArgs
System.Data.Services.Client.LoadCompletedEventArgs
System.Net.DownloadStringCompletedEventArgs
System.Net.OpenReadCompletedEventArgs
System.Net.OpenWriteCompletedEventArgs
System.Net.UploadStringCompletedEventArgs
System.ServiceModel.ClientBase<TChannel>.InvokeAsyncCompletedEventArgs
System.Windows.Media.AcquireLicenseCompletedEventArgs
System.Windows.Media.CaptureImageCompletedEventArgs
System.Windows.Media.DomainOperationCompletedEventArgs
System.Windows.Media.DrmSetupDecryptorCompletedEventArgs
System.Windows.Messaging.SendCompletedEventArgs