NativeActivity Clase

Definición

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
NativeActivity
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.

Se aplica a