NativeActivity Classe

Definizione

Classe base astratta per le attività personalizzate che implementano la logica di esecuzione usando il Execute(NativeActivityContext) metodo , che ha accesso completo alle funzionalità 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
Ereditarietà
NativeActivity
Derivato

Esempio

Nell'esempio di codice seguente viene illustrata la creazione di una classe che eredita da NativeActivity<TResult>. Questo esempio proviene dall'esempio personalizzato composito usando l'attività 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);
    }
}

Costruttori

Nome Descrizione
NativeActivity()

Se implementato in una classe derivata, crea una nuova istanza della classe derivata.

Proprietà

Nome Descrizione
CacheId

Ottiene l'identificatore della cache univoca nell'ambito della definizione del flusso di lavoro.

(Ereditato da Activity)
CanInduceIdle

Ottiene o imposta un valore che indica se l'attività può causare l'inattività del flusso di lavoro.

Constraints

Ottiene una raccolta di Constraint attività che possono essere configurate per fornire la convalida per .Activity

(Ereditato da Activity)
DisplayName

Ottiene o imposta un nome descrittivo facoltativo utilizzato per il debug, la convalida, la gestione delle eccezioni e il rilevamento.

(Ereditato da Activity)
Id

Ottiene un identificatore univoco nell'ambito della definizione del flusso di lavoro.

(Ereditato da Activity)
Implementation

Logica di esecuzione dell'attività.

ImplementationVersion

Ottiene o imposta la versione di implementazione dell'attività.

Metodi

Nome Descrizione
Abort(NativeActivityAbortContext)

Se implementato in una classe derivata, esegue azioni in risposta all'interruzione dell'attività.

CacheMetadata(ActivityMetadata)

Non implementata. Usare invece il CacheMetadata(NativeActivityMetadata) metodo .

CacheMetadata(NativeActivityMetadata)

Crea e convalida una descrizione degli argomenti, delle variabili, delle attività figlio e dei delegati di attività dell'attività.

Cancel(NativeActivityContext)

Se implementato in una classe derivata, esegue la logica per causare il completamento anticipato normale dell'attività.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
Execute(NativeActivityContext)

Se implementato in una classe derivata, esegue la logica di esecuzione dell'attività.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity)

Genera un evento durante la creazione di una mappa per l'aggiornamento dinamico.

OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Genera un evento durante la creazione di una mappa per l'aggiornamento dinamico.

ShouldSerializeDisplayName()

Indica se la DisplayName proprietà deve essere serializzata.

(Ereditato da Activity)
ToString()

Restituisce un String oggetto contenente l'oggetto Id e DisplayName dell'oggetto Activity.

(Ereditato da Activity)
UpdateInstance(NativeActivityUpdateContext)

Aggiorna l'istanza di NativeActivity.

Si applica a