Dela via


NativeActivity-basklass

NativeActivity är en abstrakt klass med en skyddad konstruktor. Som CodeActivityanvänds NativeActivity för att skriva imperativt beteende genom att implementera en Execute metod. Till skillnad från CodeActivityhar NativeActivity åtkomst till alla exponerade funktioner i arbetsflödeskörningen via objektet NativeActivityContext som skickas Execute till metoden.

Använda NativeActivityContext

Funktioner i arbetsflödeskörningen kan nås från Execute metoden med hjälp av medlemmar i parametern context , av typen NativeActivityContext. De funktioner som är tillgängliga via NativeActivityContext inkluderar följande:

Skapa en anpassad aktivitet som ärver från NativeActivity

  1. OpenVisual Studio 2010.

  2. Välj Arkiv, Nytt och sedan Projekt. Välj Arbetsflöde 4.0 under Visual C# i fönstret Projekttyper och välj noden v2010 . Välj Aktivitetsbibliotek i fönstret Mallar . Ge det nya projektet namnet HelloActivity.

  3. Högerklicka på Activity1.xaml i HelloActivity-projektet och välj Ta bort.

  4. Högerklicka på HelloActivity-projektet och välj Lägg till och sedan Klass. Ge den nya klassen namnet HelloActivity.cs.

  5. Lägg till följande using direktiv i filen HelloActivity.cs.

    using System.Activities;
    using System.Activities.Statements;
    
  6. Gör så att den nya klassen ärver från NativeActivity genom att lägga till en basklass i klassdeklarationen.

    class HelloActivity : NativeActivity
    
  7. Lägg till funktioner i klassen genom att lägga till en Execute metod.

    protected override void Execute(NativeActivityContext context)
    {
        Console.WriteLine("Hello World!");
    }
    
  8. CacheMetadata Åsidosätt metoden och anropa lämplig Lägg till-metod för att meddela arbetsflödeskörningen om den anpassade aktivitetens variabler, argument, underordnade och ombud. Mer information finns i NativeActivityMetadata klassen .

  9. Använd objektet NativeActivityContext för att schemalägga ett bokmärke. Mer Bookmarks information om hur du skapar, schemalägger och återupptar ett bokmärke finns i.

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