Edit

Share via


NativeActivity<TResult>.Execute(NativeActivityContext) Method

Definition

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

protected:
 abstract void Execute(System::Activities::NativeActivityContext ^ context);
protected abstract void Execute (System.Activities.NativeActivityContext context);
abstract member Execute : System.Activities.NativeActivityContext -> unit
Protected MustOverride Sub Execute (context As NativeActivityContext)

Parameters

context
NativeActivityContext

The execution context in which the activity executes.

Examples

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();
    }
}

Applies to