NativeActivity Klas

Definitie

Abstracte basisklasse voor aangepaste activiteiten die uitvoeringslogica implementeren met behulp van de Execute(NativeActivityContext) methode, die volledige toegang heeft tot de functies van de 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
Overname
NativeActivity
Afgeleid

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u een klasse maakt die wordt overgenomen van NativeActivity<TResult>. Dit voorbeeld is afkomstig uit het aangepaste samengestelde voorbeeld met behulp van een systeemeigen activiteit .

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

Constructors

Name Description
NativeActivity()

Wanneer deze wordt geïmplementeerd in een afgeleide klasse, maakt u een nieuw exemplaar van de afgeleide klasse.

Eigenschappen

Name Description
CacheId

Hiermee haalt u de id op van de cache die uniek is binnen het bereik van de werkstroomdefinitie.

(Overgenomen van Activity)
CanInduceIdle

Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of de activiteit ertoe kan leiden dat de werkstroom niet actief wordt.

Constraints

Hiermee haalt u een verzameling Constraint activiteiten op die kunnen worden geconfigureerd voor validatie voor de Activity.

(Overgenomen van Activity)
DisplayName

Hiermee haalt u een optionele beschrijvende naam op die wordt gebruikt voor foutopsporing, validatie, afhandeling van uitzonderingen en tracering.

(Overgenomen van Activity)
Id

Hiermee haalt u een id op die uniek is in het bereik van de werkstroomdefinitie.

(Overgenomen van Activity)
Implementation

De uitvoeringslogica van de activiteit.

ImplementationVersion

Hiermee haalt u de implementatieversie van de activiteit op of stelt u deze in.

Methoden

Name Description
Abort(NativeActivityAbortContext)

Wanneer deze is geïmplementeerd in een afgeleide klasse, voert u acties uit als reactie op de activiteit die wordt afgebroken.

CacheMetadata(ActivityMetadata)

Niet geïmplementeerd. Gebruik in plaats daarvan de CacheMetadata(NativeActivityMetadata) methode.

CacheMetadata(NativeActivityMetadata)

Hiermee maakt en valideert u een beschrijving van de argumenten, variabelen, onderliggende activiteiten en activiteit gedelegeerden van de activiteit.

Cancel(NativeActivityContext)

Wanneer deze is geïmplementeerd in een afgeleide klasse, voert u logica uit om een respijtende vroege voltooiing van de activiteit te veroorzaken.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
Execute(NativeActivityContext)

Wanneer deze wordt geïmplementeerd in een afgeleide klasse, voert u de uitvoeringslogica van de activiteit uit.

GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity)

Hiermee wordt een gebeurtenis gegenereerd bij het maken van een kaart voor de dynamische update.

OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Hiermee wordt een gebeurtenis gegenereerd bij het maken van een kaart voor de dynamische update.

ShouldSerializeDisplayName()

Geeft aan of de DisplayName eigenschap moet worden geserialiseerd.

(Overgenomen van Activity)
ToString()

Retourneert een String met de Id en DisplayName van de Activity.

(Overgenomen van Activity)
UpdateInstance(NativeActivityUpdateContext)

Hiermee wordt het exemplaar van NativeActivity.

Van toepassing op