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:
Hämta och ange argument och variabler.
Schemalägga underordnade aktiviteter med ScheduleActivity
Avbryter aktivitetskörning med hjälp av Abort.
Avbryter underordnad körning med hjälp av CancelChild och CancelChildren.
Åtkomst till aktivitetsbokmärken med hjälp av metoder som CreateBookmark, RemoveBookmarkoch ResumeBookmark.
Anpassade spårningsfunktioner med .Track
Åtkomst till aktivitetens körningsegenskaper och värdeegenskaper med hjälp av GetProperty och GetValue.
Schemaläggning av aktivitetsåtgärder och funktioner med hjälp av ScheduleAction och ScheduleFunc.
Skapa en anpassad aktivitet som ärver från NativeActivity
OpenVisual Studio 2010.
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.
Högerklicka på Activity1.xaml i HelloActivity-projektet och välj Ta bort.
Högerklicka på HelloActivity-projektet och välj Lägg till och sedan Klass. Ge den nya klassen namnet HelloActivity.cs.
Lägg till följande
using
direktiv i filen HelloActivity.cs.using System.Activities; using System.Activities.Statements;
Gör så att den nya klassen ärver från NativeActivity genom att lägga till en basklass i klassdeklarationen.
class HelloActivity : NativeActivity
Lägg till funktioner i klassen genom att lägga till en Execute metod.
protected override void Execute(NativeActivityContext context) { Console.WriteLine("Hello World!"); }
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 .
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)); }