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.
Działania utworzone przez dziedziczenie z CodeActivity mogą implementować podstawowe zachowanie imperatywne przez zastąpienie metody Execute.
Używanie elementu CodeActivityContext
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 CodeActivityContext. Dostępne przez CodeActivityContext funkcje obejmują następujące:
Pobieranie i ustawianie wartości zmiennych i argumentów.
Niestandardowe funkcje śledzenia przy użyciu Track.
Dostęp do właściwości wykonywania działania przy użyciu polecenia GetProperty.
Aby utworzyć działanie niestandardowe, które dziedziczy po CodeActivity
Otwórz program 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 i 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 CodeActivity poprzez dodanie klasy bazowej do deklaracji klasy.
class HelloActivity : CodeActivityDodaj funkcjonalność do klasy, dodając metodę Execute .
protected override void Execute(CodeActivityContext context) { Console.WriteLine("Hello World!"); }Użyj CodeActivityContext aby utworzyć rekord śledzenia.
protected override void Execute(CodeActivityContext context) { Console.WriteLine("Hello World!"); CustomTrackingRecord record = new CustomTrackingRecord("MyRecord"); record.Data.Add(new KeyValuePair<String, Object>("ExecutionTime", DateTime.Now)); context.Track(record); }