
SetStateEventArgs Class
![]() |
---|
The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience. |
Represents a class that is used as an argument to set the state of a StateMachineWorkflowActivity.
Assembly: System.Workflow.Activities (in System.Workflow.Activities.dll)
Name | Description | |
---|---|---|
![]() | SetStateEventArgs(String) | Initializes a new instance of the SetStateEventArgs class. |
Name | Description | |
---|---|---|
![]() | TargetStateName | Gets the state to set the StateActivity to. |
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 it is reclaimed by garbage collection.(Inherited from Object.) |
![]() | GetHashCode() | Serves as the default hash function. (Inherited from Object.) |
![]() | GetType() | |
![]() | MemberwiseClone() | |
![]() | ToString() | Returns a string that represents the current object.(Inherited from Object.) |
![]() |
---|
This material discusses types and namespaces that are obsolete. For more information, see Deprecated Types in Windows Workflow Foundation 4.5. |
The StateMachineWorkflowActivity allows for setting the state from the host application. This enables the host application to override the current state of a state machine. This can be accomplished by enqueuing an instance of the SetStateEventArgs class to the WorkflowQueue named by the constant StateMachineWorkflowActivity.SetStateQueueName.
A simpler way to accomplish this is to use the SetState method in the StateMachineWorkflowInstance class.
You can use the SetState method to perform a SetState operation from the host, or you can do it yourself by enqueuing an event to the state machine workflow as shown in the following example.
public void SetState(string targetStateName) { if (targetStateName == null) { throw new ArgumentNullException("targetStateName"); } SetStateEventArgs args1 = new SetStateEventArgs(targetStateName); this.WorkflowInstance.EnqueueItemOnIdle("SetStateQueue", args1, null, null); }
The state machine workflow uses a special queue called SetStateQueue to listen to these special events.
Available since 3.0
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.