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
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 AsyncCompletedEventArgs() Initializes a new instance of the AsyncCompletedEventArgs class.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 AsyncCompletedEventArgs(Exception, Boolean, Object) Initializes a new instance of the AsyncCompletedEventArgs class.

Top

Properties

  Name Description
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 Cancelled Gets a value that indicates whether an asynchronous operation has been canceled.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 Error Gets a value that indicates which error occurred during an asynchronous operation.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360 UserState Gets the unique identifier for the asynchronous task.

Top

Methods

  Name Description
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 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.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 GetType Gets the Type of the current instance. (Inherited from Object.)
Protected methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Protected methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 RaiseExceptionIfNecessary Raises a user-supplied exception if an asynchronous operation failed.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360 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.

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