Compartir a través de


Clase base NativeActivity

NativeActivity es una clase abstracta con un constructor protegido. Al igual que ocurre con CodeActivity, NativeActivity se usa para escribir el comportamiento imperativo al implementar un método Execute. 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.

Usar 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 mediante NativeActivityContext incluyen lo siguiente:

Para crear una actividad personalizada que herede de NativeActivity

  1. OpenVisual Studio 2010.

  2. Seleccione Archivo, Nuevo y, luego, Proyecto. Seleccione Workflow 4.0 en Visual C# en la ventana Tipos de proyecto y seleccione el nodo v2010. Seleccione Biblioteca de actividad en la ventana Plantillas. Dé 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 secundario en el proyecto HelloActivity, seleccione Agregar y, luego, Clase. Dé a la nueva clase el nombre "HelloActivity.cs".

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

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

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

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

  9. Utilice el objeto NativeActivityContext para programar un marcador. Vea Bookmarks para obtener detalles 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));
        }