NativeActivity.CacheMetadata Method (NativeActivityMetadata)

.NET Framework (current version)

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

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

protected virtual void CacheMetadata(
	NativeActivityMetadata metadata


Type: System.Activities.NativeActivityMetadata

The activity’s metadata that encapsulates the activity’s arguments, variables, child activities, and activity delegates.

The workflow runtime uses the default implementation of CacheMetadata to ensure correct construction of a workflow as well as to manage run-time relationships and lifetime rules. The default implementation of CacheMetadata examines the public members of the activity type using the type’s TypeDescriptor. These public members are of type Argument, Variable, T:System.Collections.Generic.IEnumerable<T:System.Activities.Variable>, Activity, T:System.Collections.Generic.IEnumerable<T:System.Activities.Activity>, or ActivityDelegate. You can override this method to customize the building of the activity’s run-time description and to provide custom validation logic. Any exceptions that are thrown from CacheMetadata are not treated as validation errors. These exceptions will escape from the call to Validate and must be handled by the caller.

The following code sample demonstrates using CacheMetadata in a class that inherits from NativeActivity<TResult>. This example is from the Custom Composite using Native Activity sample.

protected override void CacheMetadata(NativeActivityMetadata metadata)
    //call base.CacheMetadata to add the Activities and Variables to this activity's metadata
    //add the private implementation variable: currentIndex 

.NET Framework
Available since 4.0
Return to top