NativeActivity<TResult> Class

.NET Framework (current version)
 

Abstract base class for custom activities that implement execution logic using the M:System.Activities.NativeActivity`1.Execute(System.Activities.ActivityExecutionContext) method, that has full access to the runtime’s features.

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

System.Object
  System.Activities.Activity
    System.Activities.ActivityWithResult
      System.Activities.Activity<TResult>
        System.Activities.NativeActivity<TResult>
          System.Activities.Expressions.InvokeFunc<TResult>
          System.Activities.Expressions.InvokeFunc<T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult>
          System.Activities.Expressions.InvokeFunc<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TResult>
          System.Activities.Expressions.InvokeFunc<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, TResult>
          System.Activities.Expressions.InvokeFunc<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, TResult>
          System.Activities.Expressions.InvokeFunc<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, TResult>
          System.Activities.Expressions.InvokeFunc<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, TResult>
          System.Activities.Expressions.InvokeFunc<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, TResult>
          System.Activities.Expressions.InvokeFunc<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, TResult>
          System.Activities.Expressions.InvokeFunc<T, TResult>
          System.Activities.Expressions.InvokeFunc<T1, T2, TResult>
          System.Activities.Expressions.InvokeFunc<T1, T2, T3, TResult>
          System.Activities.Expressions.InvokeFunc<T1, T2, T3, T4, TResult>
          System.Activities.Expressions.InvokeFunc<T1, T2, T3, T4, T5, TResult>
          System.Activities.Expressions.InvokeFunc<T1, T2, T3, T4, T5, T6, TResult>
          System.Activities.Expressions.InvokeFunc<T1, T2, T3, T4, T5, T6, T7, TResult>
          System.Activities.Expressions.InvokeFunc<T1, T2, T3, T4, T5, T6, T7, T8, TResult>
          System.Activities.Statements.CompensableActivity
          System.Activities.Statements.CreateBookmarkScope

public abstract class NativeActivity<TResult> : Activity<TResult>

Type Parameters

TResult

The result returned by the activity.

NameDescription
System_CAPS_protmethodNativeActivity<TResult>()

When implemented in a derived class, creates a new instance of the derived class.

NameDescription
System_CAPS_protpropertyCacheId

Gets the identifier of the cache that is unique within the scope of the workflow definition.(Inherited from Activity.)

System_CAPS_protpropertyCanInduceIdle

Gets or sets a value that indicates whether the activity can cause the workflow to become idle.

System_CAPS_protpropertyConstraints

Gets a collection of Constraint activities that can be configured to provide validation for the Activity.(Inherited from Activity.)

System_CAPS_pubpropertyDisplayName

Gets or sets an optional friendly name that is used for debugging, validation, exception handling, and tracking.(Inherited from Activity.)

System_CAPS_pubpropertyId

Gets an identifier that is unique in the scope of the workflow definition.(Inherited from Activity.)

System_CAPS_protpropertyImplementation

The execution logic of the activity.(Overrides Activity.Implementation.)

System_CAPS_protpropertyImplementationVersion

Gets or sets the implementation version of the activity.(Overrides Activity.ImplementationVersion.)

System_CAPS_pubpropertyResult

Gets or sets the result argument for the Activity<TResult>.(Inherited from Activity<TResult>.)

System_CAPS_pubpropertyResultType

When implemented in a derived class, gets the type of an activity OutArgument.(Inherited from ActivityWithResult.)

NameDescription
System_CAPS_protmethodAbort(NativeActivityAbortContext)

When implemented in a derived class, takes actions in response to the activity being aborted.

System_CAPS_protmethodCacheMetadata(ActivityMetadata)

Not implemented. Use CacheMetadata instead.(Overrides Activity.CacheMetadata(ActivityMetadata).)

System_CAPS_protmethodCacheMetadata(NativeActivityMetadata)

Creates and validates a description of the activity’s arguments, variables, child activities, and activity delegates.

System_CAPS_protmethodCancel(NativeActivityContext)

When implemented in a derived class, runs logic to cause graceful early completion of the activity.

System_CAPS_pubmethodEquals(Object)

Determines whether the specified object is equal to the current object.(Inherited from Object.)

System_CAPS_protmethodExecute(NativeActivityContext)

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

System_CAPS_protmethodFinalize()

Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)

System_CAPS_pubmethodGetHashCode()

Serves as the default hash function. (Inherited from Object.)

System_CAPS_pubmethodGetType()

Gets the Type of the current instance.(Inherited from Object.)

System_CAPS_protmethodMemberwiseClone()

Creates a shallow copy of the current Object.(Inherited from Object.)

System_CAPS_protmethodOnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity)

Raises an event when creating a map for the dynamic update.

System_CAPS_protmethodOnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Raises an event when creating a map for the dynamic update.(Overrides Activity.OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity).)

System_CAPS_pubmethodShouldSerializeDisplayName()

Indicates whether the DisplayName property should be serialized.(Inherited from Activity.)

System_CAPS_pubmethodToString()

Returns a String that contains the Id and DisplayName of the Activity.(Inherited from Activity.)

System_CAPS_protmethodUpdateInstance(NativeActivityUpdateContext)

Updates the instance of NativeActivity<TResult>.

The following code sample demonstrates creating a class that inherits from NativeActivity<TResult>. This example is from the How to: Create an Activity step of the Getting Started Tutorial [.NET Framework 4.5].

public sealed class ReadInt : NativeActivity<int>
{
    [RequiredArgument]
    public InArgument<string> BookmarkName { get; set; }

    protected override void Execute(NativeActivityContext context)
    {
        string name = BookmarkName.Get(context);

        if (name == string.Empty)
        {
            throw new ArgumentException("BookmarkName cannot be an Empty string.",
                "BookmarkName");
        }

        context.CreateBookmark(name, new BookmarkCallback(OnReadComplete));
    }

    // NativeActivity derived activities that do asynchronous operations by calling 
    // one of the CreateBookmark overloads defined on System.Activities.NativeActivityContext 
    // must override the CanInduceIdle property and return true.
    protected override bool CanInduceIdle
    {
        get { return true; }
    }

    void OnReadComplete(NativeActivityContext context, Bookmark bookmark, object state)
    {
        this.Result.Set(context, Convert.ToInt32(state));
    }
}

.NET Framework
Available since 4.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.

Return to top
Show: