Partager via


NativeActivity Classe

Définition

Classe de base abstraite conçue pour les activités personnalisées implémentant la logique d’exécution à l’aide de la méthode Execute(NativeActivityContext), qui dispose d’un accès total aux fonctionnalités du 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
Héritage
NativeActivity
Dérivé

Exemples

L'exemple de code suivant montre comment créer une classe qui hérite de NativeActivity<TResult>. Cet exemple provient de l’exemple Composite personnalisé à l’aide d’une activité native .

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);  
    }  
}  

Constructeurs

NativeActivity()

Lors de l'implémentation dans une classe dérivée, crée une instance de la classe dérivée.

Propriétés

CacheId

Obtient l'identificateur du cache qui est unique dans la portée de la définition de flux de travail.

(Hérité de Activity)
CanInduceIdle

Obtient ou définit une valeur qui indique si l'activité peut faire passer le flux de travail à l'état inactif.

Constraints

Obtient une collection d'activités Constraint qui peuvent être configurées afin de fournir la validation pour l'objet Activity.

(Hérité de Activity)
DisplayName

Obtient ou définit un nom convivial utilisé pour le débogage, la validation, la gestion des exceptions et le suivi.

(Hérité de Activity)
Id

Obtient l'identificateur qui est unique dans la portée de la définition de flux de travail.

(Hérité de Activity)
Implementation

Logique d'exécution de l'activité.

ImplementationVersion

Obtient ou définit la version d'implémentation de l'activité.

ImplementationVersion

Obtient ou définit la version de l'implémentation utilisée.

(Hérité de Activity)

Méthodes

Abort(NativeActivityAbortContext)

Lors de l'implémentation dans une classe dérivée, entreprend des actions en réponse à l'activité qui est abandonnée.

CacheMetadata(ActivityMetadata)

Non implémenté. Utilisez plutôt la méthode CacheMetadata(NativeActivityMetadata).

CacheMetadata(NativeActivityMetadata)

Crée et valide une description des arguments, variables, activités enfants et délégués de l’activité.

Cancel(NativeActivityContext)

Lors de l'implémentation dans une classe dérivée, exécute la logique permettant de provoquer une fin anticipée appropriée de l'activité.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
Execute(NativeActivityContext)

Lors de l’implémentation dans une classe dérivée, exécute la logique d’exécution de l’activité.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity)

Déclenche un événement en créant une carte pour la mise à jour dynamique.

OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Déclenche un événement en créant une carte pour la mise à jour dynamique.

OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Déclenche un événement lors de la création d'une carte de mise à jour dynamique.

(Hérité de Activity)
ShouldSerializeDisplayName()

Indique si la propriété DisplayName doit être sérialisée.

(Hérité de Activity)
ToString()

Retourne un objet String qui contient les propriétés Id et DisplayName de l'objet Activity.

(Hérité de Activity)
UpdateInstance(NativeActivityUpdateContext)

Met à jour l'instance de NativeActivity.

S’applique à