NativeActivity Clase

Definición

Clase base abstracta para actividades personalizadas que implementan lógica de ejecución mediante el método Execute(NativeActivityContext), que tiene acceso total a las características del runtime.

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 la siguiente muestra de código se presenta cómo crear una clase que hereda de NativeActivity<TResult>. Este ejemplo procede de la composición personalizada mediante el ejemplo de 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

NativeActivity()

Cuando se implementa en una clase derivada, crea una nueva instancia de esta.

Propiedades

CacheId

Obtiene el identificador de la memoria caché que es único dentro del ámbito de definición del flujo de trabajo.

(Heredado de Activity)
CanInduceIdle

Obtiene o establece un valor que indica si la actividad puede hacer que el flujo de trabajo quede inactivo.

Constraints

Obtiene una colección de las actividades Constraint que se puede configurar para proporcionar validación para Activity.

(Heredado de Activity)
DisplayName

Obtiene o establece un nombre descriptivo opcional que se utiliza para la depuración, la validación, el control de excepciones y el seguimiento.

(Heredado de Activity)
Id

Obtiene un identificador que es único dentro del ámbito de definición del 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.

ImplementationVersion

Obtiene o establece la versión de la implementación usada.

(Heredado de Activity)

Métodos

Abort(NativeActivityAbortContext)

Cuando se implementa en una clase derivada, realiza acciones en respuesta a la actividad que se va a anular.

CacheMetadata(ActivityMetadata)

Sin implementar. Use el método CacheMetadata(NativeActivityMetadata) en su lugar.

CacheMetadata(NativeActivityMetadata)

Crea y valida una descripción de los argumentos, las variables, las actividades secundarias y delegados de la actividad.

Cancel(NativeActivityContext)

Cuando se implementa en una clase derivada, ejecuta la lógica para producir una finalización precoz y correcta de la actividad.

Equals(Object)

Determina si el objeto especificado es igual que el 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()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity)

Genera un evento al crear una asignación para la actualización dinámica.

OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Genera un evento al crear una asignación para la actualización dinámica.

OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Genera un evento al crear una asignación de actualización dinámica.

(Heredado de Activity)
ShouldSerializeDisplayName()

Indica si la propiedad DisplayName se debe serializar.

(Heredado de Activity)
ToString()

Devuelve un objeto String que contiene las propiedades Id y DisplayName del objeto Activity.

(Heredado de Activity)
UpdateInstance(NativeActivityUpdateContext)

Actualiza la instancia de NativeActivity.

Se aplica a