Compartir a través de


Clase base NativeActivity

NativeActivity es una clase abstracta con un constructor protegido. Al igual que CodeActivity, NativeActivity se usa para escribir un comportamiento imperativo mediante la implementación de un Execute método . A diferencia de CodeActivity, NativeActivity tiene acceso a todas las características expuestas del tiempo de ejecución del flujo de trabajo a través del objeto NativeActivityContext pasado al método Execute.

Uso de NativeActivityContext

Se puede tener acceso a las características del tiempo de ejecución del flujo de trabajo desde dentro del método Execute usando los miembros del parámetro context, del tipo NativeActivityContext. Las características disponibles a través de NativeActivityContext incluyen las siguientes:

Para crear una actividad personalizada que herede de NativeActivity

  1. OpenVisual Studio 2010.

  2. Seleccione Archivo, Nuevo y, a continuación, Proyecto. Seleccione Flujo de trabajo 4.0 en Visual C# en la ventana Tipos de proyecto y seleccione el nodo v2010 . Seleccione Biblioteca de actividad en la ventana Plantillas. Asigne al nuevo proyecto el nombre HelloActivity.

  3. Haga clic con el botón derecho en Activity1.xaml en el proyecto HelloActivity y seleccione Eliminar.

  4. Haga clic con el botón derecho en el proyecto HelloActivity y seleccione Agregar y, después, Clase. Nombre la nueva clase HelloActivity.cs.

  5. En el archivo HelloActivity.cs, agregue las siguientes using directivas.

    using System.Activities;
    using System.Activities.Statements;
    
  6. Haga que la nueva clase herede de NativeActivity agregando una clase base a la declaración de clase.

    class HelloActivity : NativeActivity
    
  7. Agregue funcionalidad a la clase agregando un Execute método .

    protected override void Execute(NativeActivityContext context)
    {
        Console.WriteLine("Hello World!");
    }
    
  8. Invalide el CacheMetadata método y llame al método Add adecuado para permitir que el entorno de ejecución de flujo de trabajo conozca las variables, argumentos, elementos secundarios y delegados de la actividad personalizada. Para obtener más información, consulte la NativeActivityMetadata clase .

  9. Use el NativeActivityContext objeto para programar un marcador. Consulte Bookmarks para obtener más información sobre cómo crear, programar y reanudar un marcador.

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