Condividi tramite


NativeActivity Classe

Definizione

Classe di base astratta per attività personalizzate che implementano la logica di esecuzione usando il metodo Execute(NativeActivityContext) che dispone dell'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 mostrata la creazione di una classe che eredita dall'oggetto NativeActivity<TResult>. Questo esempio proviene dall'esempio personalizzato composito usando l'esempio di 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

NativeActivity()

Quando è implementato in una classe derivata, crea una nuova istanza della classe derivata.

Proprietà

CacheId

Ottiene l'identificatore della cache che è univoco all'interno dell'ambito della definizione del flusso di lavoro.

(Ereditato da Activity)
CanInduceIdle

Ottiene o imposta un valore che indica se l'attività può determinare che il flusso di lavoro diventi inattivo.

Constraints

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

(Ereditato da Activity)
DisplayName

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

(Ereditato da Activity)
Id

Ottiene un identificatore che è 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à.

ImplementationVersion

Ottiene o imposta la versione dell'implementazione utilizzata.

(Ereditato da Activity)

Metodi

Abort(NativeActivityAbortContext)

Quando è implementato in una classe derivata, intraprende azioni in risposta all'attività interrotta.

CacheMetadata(ActivityMetadata)

Non implementato. Al suo posto usa il metodo CacheMetadata(NativeActivityMetadata).

CacheMetadata(NativeActivityMetadata)

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

Cancel(NativeActivityContext)

In caso di implementazione in una classe derivata, è in esecuzione logico provocare primo completamento aggraziato dell'attività.

Equals(Object)

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

(Ereditato da Object)
Execute(NativeActivityContext)

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

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity)

Genera un evento quando si crea un mapping per l'aggiornamento dinamico.

OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Genera un evento quando si crea un mapping per l'aggiornamento dinamico.

OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Genera un evento quando si crea un mapping per l'aggiornamento dinamico.

(Ereditato da Activity)
ShouldSerializeDisplayName()

Indica se la proprietà DisplayName deve essere serializzata.

(Ereditato da Activity)
ToString()

Restituisce un String che contiene il Id e il DisplayName del Activity.

(Ereditato da Activity)
UpdateInstance(NativeActivityUpdateContext)

Aggiorna l'istanza di NativeActivity.

Si applica a