Udostępnij za pośrednictwem


NativeActivity, klasa bazowa

NativeActivity jest abstrakcyjną klasą z chronionym konstruktorem. Podobnie jak CodeActivity, NativeActivity jest używany do pisania zachowania imperatywnego Execute przez zaimplementowanie metody. W przeciwieństwie do CodeActivityprogramu NativeActivity ma dostęp do wszystkich uwidocznionych funkcji środowiska uruchomieniowego przepływu pracy za pośrednictwem NativeActivityContext obiektu przekazanego Execute do metody .

Korzystanie z elementu NativeActivityContext

Dostęp do funkcji środowiska uruchomieniowego przepływu pracy można uzyskać z poziomu Execute metody przy użyciu elementów członkowskich parametru contextNativeActivityContexttypu . Dostępne funkcje obejmują następujące elementy NativeActivityContext :

Aby utworzyć działanie niestandardowe dziedziczone z elementu NativeActivity

  1. OtwórzVisual 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 pozycję Biblioteka działań 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 using dyrektywy.

    using System.Activities;
    using System.Activities.Statements;
    
  6. Ustaw nową klasę na dziedziczenie, NativeActivity dodając klasę bazową 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ąpuj 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. NativeActivityContext Użyj obiektu, 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));
        }