NativeActivity<TResult>::Execute Method (NativeActivityContext^)

.NET Framework (current version)
 

When implemented in a derived class, runs the activity’s execution logic.

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

protected:
virtual void Execute(
	NativeActivityContext^ context
) abstract

Parameters

context
Type: System.Activities::NativeActivityContext^

The execution context in which the activity executes.

The following code sample demonstrates using Execute in a class that inherits from NativeActivity<TResult>. This example is from the Non-Generic ParallelForEach sample.

protected override void Execute(NativeActivityContext context)
{
    IEnumerable values = this.Values.Get(context);
    if (values == null)
    {
        throw new InvalidOperationException("ParallelForEach requires a non-null Values argument.");
    }

    IEnumerator valueEnumerator = values.GetEnumerator();

    CompletionCallback onBodyComplete = new CompletionCallback(OnBodyComplete);
    while (valueEnumerator.MoveNext())
    {
        if (this.Body != null)
        {
            context.ScheduleAction(this.Body, valueEnumerator.Current, onBodyComplete);
        }
    }
    IDisposable disposable = valueEnumerator as IDisposable;
    if (disposable != null)
    {
        disposable.Dispose();
    }
}

.NET Framework
Available since 4.0
Return to top
Show: