Freigeben über


NativeActivity-Basisklasse

NativeActivity ist eine abstrakte Klasse mit einem geschützten Konstruktor. Wie CodeActivity wird auch NativeActivity zum Schreiben von imperativem Verhalten durch die Implementierung einer Execute-Methode verwendet. Im Gegensatz zu CodeActivity verfügt NativeActivity jedoch über Zugriff auf alle verfügbar gemachten Funktionen der Workflowlaufzeit durch das NativeActivityContext-Objekt, das an die Execute-Methode übergeben wurde.

Verwenden von NativeActivityContext

Innerhalb der Execute-Methode kann mithilfe von Membern des context-Parameters vom Typ NativeActivityContext auf Funktionen des Workflows zugegriffen werden. Über NativeActivityContext sind unter anderem folgende Funktionen verfügbar:

So erstellen Sie eine benutzerdefinierte Aktivität, die von NativeActivity erbt

  1. OpenVisual Studio 2010.

  2. Wählen Sie Datei, Neu und dann Projekt aus. Wählen Sie unter Visual C# im Fenster Projekttypen die Option Workflow 4.0 und danach den Knoten v2010 aus. Wählen Sie im Fenster Vorlagen die Option Aktivitätsbibliothek aus. Geben Sie dem neuen Projekt den Namen "HelloActivity".

  3. Klicken Sie mit der rechten Maustaste im HelloActivity-Projekt auf "Activity1.xaml", und wählen Sie Löschen aus.

  4. Klicken Sie mit der rechten Maustaste auf das HelloActivity-Projekt, und wählen Sie Hinzufügenund danach Klasse aus. Nennen Sie die neue Klasse HelloActivity.cs.

  5. Fügen Sie der Datei "HelloActivity.cs" die folgenden using-Direktiven hinzu.

    using System.Activities;
    using System.Activities.Statements;
    
  6. Legen Sie fest, dass die neue Klasse von NativeActivity erben soll, indem Sie der Klassendeklaration eine Basisklasse hinzufügen.

    class HelloActivity : NativeActivity
    
  7. Fügen Sie der Klasse die Funktionalität hinzu, indem Sie eine Execute-Methode hinzufügen.

    protected override void Execute(NativeActivityContext context)
    {
        Console.WriteLine("Hello World!");
    }
    
  8. Überschreiben Sie die CacheMetadata-Methode, und rufen Sie die entsprechende Add-Methode auf, um Informationen zu den Variablen, Argumenten, untergeordneten Elementen und Delegaten der benutzerdefinierten Aktivität für die Workflowlaufzeit bereitzustellen. Weitere Informationen finden Sie in den Ausführungen zur NativeActivityMetadata-Klasse.

  9. Verwenden Sie das NativeActivityContext-Objekt, um ein Lesezeichen zu planen. Nähere Informationen zum Erstellen, Planen und Fortsetzen eines Lesezeichens finden Sie unter Bookmarks.

    protected override void Execute(NativeActivityContext context)
        {
            // Create a Bookmark and wait for it to be resumed.
            context.CreateBookmark(BookmarkName.Get(context),
                new BookmarkCallback(OnResumeBookmark));
        }