UserSuppliedState Property
Collapse the table of content
Expand the table of content

AsyncOperation.UserSuppliedState Property


Gets or sets an object used to uniquely identify an asynchronous operation.

Namespace:   System.ComponentModel
Assembly:  System (in System.dll)

member UserSuppliedState : Object with get

Property Value

Type: System.Object

The state object passed to the asynchronous method invocation.

If your class supports multiple asynchronous methods or multiple invocations of a single asynchronous method, clients will need a way to determine which asynchronous task is raising events. Your MethodNameAsync method should take a parameter of type Object that will act as a task ID. You will use this task ID when you call the AsyncOperationManager.CreateOperation, method and this will associate the client's task ID with a particular invocation of your asynchronous operation. This task ID is made available to your implementation through the UserSuppliedState property.


Client code must be careful to provide a unique value for the UserSuppliedState property. Non-unique task IDs may cause your implementation to report progress and other events incorrectly. Your code should check for a non-unique task ID and raise an ArgumentException if one is detected.

Legacy Code Example

The following code example demonstrates using UserSuppliedState to track the lifetime of asynchronous operations. This code example is part of a larger example provided for the System.ComponentModel.AsyncOperationManager class.

No code example is currently available or this language may not be supported.

Universal Windows Platform
Available since 10
.NET Framework
Available since 2.0
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Return to top
© 2015 Microsoft