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ří:
Získání a nastavení argumentů a proměnných
Plánování podřízených aktivit pomocí ScheduleActivity
Přerušení provádění aktivit pomocí .Abort
Zrušení podřízeného spuštění pomocí CancelChild a CancelChildren.
Přístup k záložkám aktivit pomocí takových metod, jako CreateBookmarkje , RemoveBookmarka ResumeBookmark.
Vlastní funkce sledování pomocí Track.
Přístup k vlastnostem provádění aktivity a vlastnostem hodnoty pomocí GetProperty a GetValue.
Plánování akcí a funkcí aktivit pomocí ScheduleAction a ScheduleFunc.
Vytvoření vlastní aktivity, která dědí z NativeActivity
OpenVisual Studio 2010.
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.
V projektu HelloActivity klikněte pravým tlačítkem na Activity1.xaml a vyberte Odstranit.
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.
Do souboru HelloActivity.cs přidejte následující
using
direktivy.using System.Activities; using System.Activities.Statements;
Vytvořte novou třídu zděděnou NativeActivity přidáním základní třídy do deklarace třídy.
class HelloActivity : NativeActivity
Přidejte do třídy funkce přidáním Execute metody.
protected override void Execute(NativeActivityContext context) { Console.WriteLine("Hello World!"); }
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ě.
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)); }