NativeActivity<TResult>.CacheMetadata Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Creates and validates a description of the activity's arguments, variables, child activities, and activity delegates.
Overloads
CacheMetadata(ActivityMetadata) |
Not implemented. Use CacheMetadata(NativeActivityMetadata) instead. |
CacheMetadata(NativeActivityMetadata) |
Creates and validates a description of the activity's arguments, variables, child activities, and activity delegates. |
Remarks
Custom activity authors can provide validation logic in an activity's CacheMetadata override. 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.
CacheMetadata(ActivityMetadata)
Not implemented. Use CacheMetadata(NativeActivityMetadata) instead.
protected:
override void CacheMetadata(System::Activities::ActivityMetadata metadata);
protected override sealed void CacheMetadata (System.Activities.ActivityMetadata metadata);
override this.CacheMetadata : System.Activities.ActivityMetadata -> unit
Protected Overrides NotOverridable Sub CacheMetadata (metadata As ActivityMetadata)
Parameters
- metadata
- ActivityMetadata
Not implemented.
Remarks
Custom activity authors can provide validation logic in an activity's CacheMetadata override. 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.
Applies to
CacheMetadata(NativeActivityMetadata)
Creates and validates a description of the activity's arguments, variables, child activities, and activity delegates.
protected:
virtual void CacheMetadata(System::Activities::NativeActivityMetadata metadata);
protected virtual void CacheMetadata (System.Activities.NativeActivityMetadata metadata);
override this.CacheMetadata : System.Activities.NativeActivityMetadata -> unit
Protected Overridable Sub CacheMetadata (metadata As NativeActivityMetadata)
Parameters
- metadata
- NativeActivityMetadata
The activity's metadata that encapsulates the activity's arguments, variables, child activities, and activity delegates.
Examples
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
base.CacheMetadata(metadata);
//add the private implementation variable: currentIndex
metadata.AddImplementationVariable(this.currentIndex);
}
Remarks
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, IEnumerable<Variable>, Activity, IEnumerable<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.