Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
NativeActivity jest abstrakcyjną klasą z chronionym konstruktorem. Podobnie jak CodeActivity, NativeActivity jest używany do pisania zachowań imperatywnych poprzez zaimplementowanie metody Execute. W przeciwieństwie do CodeActivity, NativeActivity ma dostęp do wszystkich uwidocznionych funkcji środowiska uruchomieniowego przepływu pracy za pośrednictwem obiektu NativeActivityContext przekazanego do metody Execute.
Korzystanie z elementu NativeActivityContext
Dostęp do funkcji środowiska uruchomieniowego przepływu pracy można uzyskać z poziomu metody Execute przy użyciu członków parametru context z typu NativeActivityContext. Dostępne przez NativeActivityContext funkcje obejmują następujące:
Pobieranie i ustawianie argumentów i zmiennych.
Planowanie aktywności dzieci z ScheduleActivity
Przerywanie wykonywania działań przy użyciu polecenia Abort.
Zatrzymywanie procesu potomnego przy użyciu elementów CancelChild i CancelChildren.
Dostęp do zakładek działań przy użyciu takich metod jak CreateBookmark, RemoveBookmarki ResumeBookmark.
Niestandardowe funkcje śledzenia przy użyciu Track.
Dostęp do właściwości wykonawczych i wartości działania przy użyciu GetProperty i GetValue.
Planowanie działań i funkcji przy użyciu ScheduleAction i ScheduleFunc.
Aby utworzyć działanie niestandardowe dziedziczone z elementu NativeActivity
Otwórz Visual Studio 2010.
Wybierz pozycję Plik, Nowy, a następnie Projekt. Wybierz pozycję Przepływ pracy 4.0 w obszarze Visual C# w oknie Typy projektów i wybierz węzeł v2010 . Wybierz Bibliotekę aktywności w oknie Szablony. Nadaj nowej nazwie projekt HelloActivity.
Kliknij prawym przyciskiem myszy plik Activity1.xaml w projekcie HelloActivity i wybierz polecenie Usuń.
Kliknij prawym przyciskiem myszy projekt HelloActivity, a następnie wybierz polecenie Dodaj, a następnie pozycję Klasa. Nadaj nowej klasie nazwę HelloActivity.cs.
W pliku HelloActivity.cs dodaj następujące polecenia
using.using System.Activities; using System.Activities.Statements;Spraw, aby nowa klasa dziedziczyła po NativeActivity poprzez dodanie klasy bazowej do deklaracji klasy.
class HelloActivity : NativeActivityDodaj funkcjonalność do klasy, dodając metodę Execute .
protected override void Execute(NativeActivityContext context) { Console.WriteLine("Hello World!"); }Zastąp metodę CacheMetadata i wywołaj odpowiednią metodę Add, aby poinformować środowisko uruchomieniowe przepływu pracy o zmiennych, argumentach, elementach podrzędnych i delegatach działania niestandardowego. Aby uzyskać więcej informacji, zobacz klasę NativeActivityMetadata .
Użyj obiektu NativeActivityContext, aby zaplanować zakładkę. Zobacz Bookmarks , aby uzyskać szczegółowe informacje na temat tworzenia, planowania i wznawiania zakładki.
protected override void Execute(NativeActivityContext context) { // Create a Bookmark and wait for it to be resumed. context.CreateBookmark(BookmarkName.Get(context), new BookmarkCallback(OnResumeBookmark)); }