NativeActivity Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Clase base abstracta para actividades personalizadas que implementan lógica de ejecución mediante el Execute(NativeActivityContext) método , que tiene acceso completo a las características del tiempo de ejecución.
public ref class NativeActivity abstract : System::Activities::Activity
public abstract class NativeActivity : System.Activities.Activity
type NativeActivity = class
inherit Activity
Public MustInherit Class NativeActivity
Inherits Activity
- Herencia
- Derivado
Ejemplos
En el ejemplo de código siguiente se muestra cómo crear una clase que hereda de NativeActivity<TResult>. Este ejemplo procede del ejemplo compuesto personalizado mediante la actividad nativa .
public sealed class MySequence : NativeActivity
{
Collection<Activity> children;
Collection<Variable> variables;
Variable<int> currentIndex;
CompletionCallback onChildComplete;
public MySequence()
: base()
{
this.children = new Collection<Activity>();
this.variables = new Collection<Variable>();
this.currentIndex = new Variable<int>();
}
public Collection<Activity> Activities
{
get
{
return this.children;
}
}
public Collection<Variable> Variables
{
get
{
return this.variables;
}
}
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);
}
protected override void Execute(NativeActivityContext context)
{
InternalExecute(context, null);
}
void InternalExecute(NativeActivityContext context, ActivityInstance instance)
{
//grab the index of the current Activity
int currentActivityIndex = this.currentIndex.Get(context);
if (currentActivityIndex == Activities.Count)
{
//if the currentActivityIndex is equal to the count of MySequence's Activities
//MySequence is complete
return;
}
if (this.onChildComplete == null)
{
//on completion of the current child, have the runtime call back on this method
this.onChildComplete = new CompletionCallback(InternalExecute);
}
//grab the next Activity in MySequence.Activities and schedule it
Activity nextChild = Activities[currentActivityIndex];
context.ScheduleActivity(nextChild, this.onChildComplete);
//increment the currentIndex
this.currentIndex.Set(context, ++currentActivityIndex);
}
}
Constructores
| Nombre | Description |
|---|---|
| NativeActivity() |
Cuando se implementa en una clase derivada, crea una nueva instancia de la clase derivada. |
Propiedades
| Nombre | Description |
|---|---|
| CacheId |
Obtiene el identificador de la memoria caché que es única dentro del ámbito de la definición de flujo de trabajo. (Heredado de Activity) |
| CanInduceIdle |
Obtiene o establece un valor que indica si la actividad puede hacer que el flujo de trabajo esté inactivo. |
| Constraints |
Obtiene una colección de Constraint actividades que se pueden configurar para proporcionar validación para .Activity (Heredado de Activity) |
| DisplayName |
Obtiene o establece un nombre descriptivo opcional que se usa para la depuración, validación, control de excepciones y seguimiento. (Heredado de Activity) |
| Id |
Obtiene un identificador que es único en el ámbito de la definición de flujo de trabajo. (Heredado de Activity) |
| Implementation |
Lógica de ejecución de la actividad. |
| ImplementationVersion |
Obtiene o establece la versión de implementación de la actividad. |
Métodos
| Nombre | Description |
|---|---|
| Abort(NativeActivityAbortContext) |
Cuando se implementa en una clase derivada, realiza acciones en respuesta a la actividad que se anula. |
| CacheMetadata(ActivityMetadata) |
Sin implementar. Use el CacheMetadata(NativeActivityMetadata) método en su lugar. |
| CacheMetadata(NativeActivityMetadata) |
Crea y valida una descripción de los argumentos, variables, actividades secundarias y delegados de actividad de la actividad. |
| Cancel(NativeActivityContext) |
Cuando se implementa en una clase derivada, ejecuta lógica para provocar una finalización temprana correcta de la actividad. |
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| Execute(NativeActivityContext) |
Cuando se implementa en una clase derivada, ejecuta la lógica de ejecución de la actividad. |
| GetHashCode() |
Actúa como función hash predeterminada. (Heredado de Object) |
| GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
| MemberwiseClone() |
Crea una copia superficial del Objectactual. (Heredado de Object) |
| OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity) |
Genera un evento al crear un mapa para la actualización dinámica. |
| OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity) |
Genera un evento al crear un mapa para la actualización dinámica. |
| ShouldSerializeDisplayName() |
Indica si la DisplayName propiedad debe serializarse. (Heredado de Activity) |
| ToString() |
Devuelve un String objeto que contiene y IdDisplayName de Activity. (Heredado de Activity) |
| UpdateInstance(NativeActivityUpdateContext) |
Actualiza la instancia de NativeActivity. |