Freigeben über


NativeActivity Klasse

Definition

Eine abstrakte Basisklasse für benutzerdefinierte Aktivitäten zur Implementierung von Ausführungslogik mit der Execute(NativeActivityContext)-Methode, die über uneingeschränkten Zugriff auf die Laufzeitfeatures verfügt.

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
Vererbung
NativeActivity
Abgeleitet

Beispiele

Im folgenden Codebeispiel wird das Erstellen einer Klasse veranschaulicht, die von NativeActivity<TResult> erbt. Dieses Beispiel stammt aus dem Beispiel "Custom Composite using Native Activity" .

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

Konstruktoren

NativeActivity()

Erstellt beim Implementieren in einer abgeleiteten Klasse eine neue Instanz der abgeleiteten Klasse.

Eigenschaften

CacheId

Ruft den Bezeichner des Caches ab, der innerhalb des Bereichs der Workflowdefinition eindeutig ist.

(Geerbt von Activity)
CanInduceIdle

Ruft einen Wert ab bzw. legt einen Wert fest, der angibt, ob die Aktivität verursachen kann, dass der Workflow in den Leerlauf versetzt wird.

Constraints

Ruft eine Auflistung von Constraint-Aktivitäten ab, die so konfiguriert werden kann, dass sie die Validierung für Activity bereitstellt.

(Geerbt von Activity)
DisplayName

Ruft einen optionalen Anzeigenamen ab, der für Debugging, Validierung, Ausnahmebehandlung und Nachverfolgung verwendet wird, oder legt ihn fest.

(Geerbt von Activity)
Id

Ruft einen Bezeichner ab, der innerhalb des Bereichs der Workflowdefinition eindeutig ist.

(Geerbt von Activity)
Implementation

Die Ausführungslogik der Aktivität.

ImplementationVersion

Ruft die Implementierungsversion der Aktivität ab oder legt diese fest.

ImplementationVersion

Übernimmt oder bestimmt die Version für die benutzte Implementierung.

(Geerbt von Activity)

Methoden

Abort(NativeActivityAbortContext)

Führt bei Implementierung in einer abgeleiteten Klasse Aktionen als Reaktion auf die abgebrochene Aktivität aus.

CacheMetadata(ActivityMetadata)

Nicht implementiert. Verwenden Sie stattdessen die CacheMetadata(NativeActivityMetadata)-Methode.

CacheMetadata(NativeActivityMetadata)

Erstellt und überprüft eine Beschreibung der Argumente, Variablen, untergeordneten Aktivitäten und Aktivitätsdelegaten der Aktivität.

Cancel(NativeActivityContext)

Führt bei Implementierung in einer abgeleiteten Klasse Logik für einen ordnungsgemäßen frühzeitigen Abschluss der Aktivität aus.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
Execute(NativeActivityContext)

Führt bei der Implementierung in eine abgeleitete Klasse die Ausführungslogik der Aktivität aus.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
OnCreateDynamicUpdateMap(NativeActivityUpdateMapMetadata, Activity)

Löst ein Ereignis aus, wenn eine Zuordnung für das dynamische Update erstellt wird.

OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Löst ein Ereignis aus, wenn eine Zuordnung für das dynamische Update erstellt wird.

OnCreateDynamicUpdateMap(UpdateMapMetadata, Activity)

Löst ein Ereignis aus, wenn die dynamische Updatezuordnung erstellt wird.

(Geerbt von Activity)
ShouldSerializeDisplayName()

Gibt an, ob die DisplayName- Eigenschaft serialisiert werden soll.

(Geerbt von Activity)
ToString()

Gibt eine String zurück, die Id und DisplayName von Activity enthält.

(Geerbt von Activity)
UpdateInstance(NativeActivityUpdateContext)

Aktualisiert die NativeActivity-Instanz.

Gilt für: