Udostępnij za pomocą


NativeActivity, klasa bazowa

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:

Aby utworzyć działanie niestandardowe dziedziczone z elementu NativeActivity

  1. Otwórz Visual Studio 2010.

  2. 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.

  3. Kliknij prawym przyciskiem myszy plik Activity1.xaml w projekcie HelloActivity i wybierz polecenie Usuń.

  4. Kliknij prawym przyciskiem myszy projekt HelloActivity, a następnie wybierz polecenie Dodaj, a następnie pozycję Klasa. Nadaj nowej klasie nazwę HelloActivity.cs.

  5. W pliku HelloActivity.cs dodaj następujące polecenia using.

    using System.Activities;
    using System.Activities.Statements;
    
  6. Spraw, aby nowa klasa dziedziczyła po NativeActivity poprzez dodanie klasy bazowej do deklaracji klasy.

    class HelloActivity : NativeActivity
    
  7. Dodaj funkcjonalność do klasy, dodając metodę Execute .

    protected override void Execute(NativeActivityContext context)
    {
        Console.WriteLine("Hello World!");
    }
    
  8. 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 .

  9. 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));
        }