Sdílet prostřednictvím


Základní třída NativeActivity

NativeActivity je abstraktní třída s chráněným konstruktorem. Podobně jako CodeActivity, NativeActivity se používá k psaní imperativního chování implementací Execute metody. Na rozdíl od CodeActivity, NativeActivity má přístup ke všem vystavené funkce modulu runtime pracovního postupu prostřednictvím NativeActivityContext objektu předaného metodě Execute .

Použití NativeActivityContext

K funkcím modulu runtime pracovního postupu lze přistupovat z Execute metody pomocí členů parametru context typu NativeActivityContext. Mezi dostupné NativeActivityContext funkce patří:

Vytvoření vlastní aktivity, která dědí z NativeActivity

  1. OpenVisual Studio 2010.

  2. Vyberte Soubor, Nový a pak Project. V okně Typy projektů vyberte v části Visual C# pracovní postup 4.0 a vyberte uzel v2010. V okně Šablony vyberte knihovnuaktivit. Pojmenujte nový projekt HelloActivity.

  3. V projektu HelloActivity klikněte pravým tlačítkem na Activity1.xaml a vyberte Odstranit.

  4. Klikněte pravým tlačítkem myši na projekt HelloActivity a vyberte Přidat a potom třídu. Pojmenujte novou třídu HelloActivity.cs.

  5. Do souboru HelloActivity.cs přidejte následující using direktivy.

    using System.Activities;
    using System.Activities.Statements;
    
  6. Vytvořte novou třídu zděděnou NativeActivity přidáním základní třídy do deklarace třídy.

    class HelloActivity : NativeActivity
    
  7. Přidejte do třídy funkce přidáním Execute metody.

    protected override void Execute(NativeActivityContext context)
    {
        Console.WriteLine("Hello World!");
    }
    
  8. Přepište metodu CacheMetadata a zavolejte příslušnou metodu Add, která modulu runtime pracovního postupu dejte vědět o proměnných, argumentech, podřízených objektech a delegátech vlastní aktivity. Další informace naleznete ve NativeActivityMetadata třídě.

  9. Pomocí objektu NativeActivityContext můžete naplánovat záložku. Podrobnosti Bookmarks o tom, jak vytvořit, naplánovat a obnovit záložku

    protected override void Execute(NativeActivityContext context)
        {
            // Create a Bookmark and wait for it to be resumed.
            context.CreateBookmark(BookmarkName.Get(context),
                new BookmarkCallback(OnResumeBookmark));
        }