Condividi tramite


Classe Base di NativeActivity

NativeActivity è una classe astratta con un costruttore protetto. Come CodeActivity, NativeActivity viene usato per scrivere un comportamento imperativo implementando un Execute metodo . A differenza di CodeActivity, NativeActivity ha accesso a tutte le funzionalità esposte del runtime del flusso di lavoro tramite l'oggetto NativeActivityContext passato al Execute metodo .

Uso di NativeActivityContext

È possibile accedere alle funzionalità del runtime del flusso di lavoro dall'interno del Execute metodo usando i membri del context parametro , di tipo NativeActivityContext. Le funzionalità disponibili tramite NativeActivityContext includono quanto segue:

Per creare un'attività personalizzata che eredita da NativeActivity

  1. OpenVisual Studio 2010.

  2. Selezionare File, Nuovo e quindi Progetto. Selezionare Flusso di lavoro 4.0 in Visual C# nella finestra Tipi di progetto e selezionare il nodo v2010 . Selezionare Libreria attività nella finestra Modelli . Assegnare al nuovo progetto il nome HelloActivity.

  3. Fare clic con il pulsante destro del mouse su Activity1.xaml nel progetto HelloActivity e scegliere Elimina.

  4. Fare clic con il pulsante destro del mouse sul progetto HelloActivity e scegliere Aggiungi e quindi Classe. Assegnare alla nuova classe il nome HelloActivity.cs.

  5. Nel file HelloActivity.cs aggiungere le direttive seguenti using .

    using System.Activities;
    using System.Activities.Statements;
    
  6. Fare in modo che la nuova classe erediti da NativeActivity aggiungendo una classe base alla dichiarazione di classe.

    class HelloActivity : NativeActivity
    
  7. Aggiungere funzionalità alla classe aggiungendo un Execute metodo .

    protected override void Execute(NativeActivityContext context)
    {
        Console.WriteLine("Hello World!");
    }
    
  8. Eseguire l'override del CacheMetadata metodo e chiamare il metodo Add appropriato per informare il runtime del flusso di lavoro sulle variabili, gli argomenti, gli elementi figlio e i delegati dell'attività personalizzata. Per altre informazioni, vedere la NativeActivityMetadata classe .

  9. Utilizzare l'oggetto NativeActivityContext per pianificare un segnalibro. Vedere Bookmarks per informazioni dettagliate su come creare, pianificare e riprendere un segnalibro.

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