Compartir a través de


Diseñador de actividades InvokeMethod

El diseñador InvokeMethod se utiliza para crear y configurar una actividad InvokeMethod.

Actividad InvokeMethod

InvokeMethod llama a un método público de un objeto o tipo especificados.

Uso del diseñador de la actividad InvokeMethod

Acceda al diseñador de la actividad InvokeMethod en la categoría Primitivas del Cuadro de herramientas. El diseñador de la actividad InvokeMethod se puede arrastrar desde el Cuadro de herramientas y colocarlo en la superficie del Diseñador de flujo de trabajo, donde se coloquen normalmente las actividades, como en una clase Sequence. Al colocar el diseñador de la actividad, se crea una actividad InvokeMethod con un valor predeterminado DisplayName de InvokeMethod. El valor DisplayName se puede editar en el encabezado del diseñador de la actividad InvokeMethod o en el cuadro DisplayName de la cuadrícula de propiedades.

Propiedades InvokeMethod

En la tabla siguiente se muestran las propiedades InvokeMethod y se describe cómo se utilizan en el diseñador. Estas propiedades se pueden editar en una cuadrícula de propiedades y algunas en la superficie del Diseñador de flujo de trabajo.

Nombre de propiedad Obligatorio Uso
DisplayName False Nombre descriptivo de la actividad InvokeMethod. El valor predeterminado es InvokeMethod.

Aunque el valor de la propiedad DisplayName no sea obligatorio, es mejor usar uno.
MethodName True El nombre del método que se va a llamar cuando se ejecute la actividad. El método al que se llama deberá declararse como público. Esta propiedad se puede editar en la superficie del diseñador, y es obligatoria.
Parameters False La colección de parámetros del método al que se ha llamado. Los parámetros se deben agregar a la colección en el mismo orden que aparecen en la firma de método. Para mostrar el cuadro de diálogo Parámetros donde puede establecer esta propiedad, haga clic en el botón de puntos suspensivos del campo Parámetros de la cuadrícula de propiedades. Haga clic en el botón Crear argumento para agregar los parámetros.
Result False El valor devuelto de la llamada al método.
RunAsynchronously True Especifica si el método se llama de forma asincrónica. El valor predeterminado es False.
TargetObject False Objeto que contiene el método al que se va a llamar. Esta propiedad se puede editar en la superficie del diseñador.

TargetObject o TargetType son obligatorias para que se establezcan.
TargetType False Tipo de TargetObject. Esta propiedad se puede editar en la superficie del diseñador. Esta propiedad solo se debe establecer si el método llamado es estático.

Para pasar parámetros como parámetro de salida de C# (por ejemplo, Method1(out myParam))), use OutArgument en lugar de InOutArgument.

Los métodos con argumentos denominados TargetObject o Result no se pueden invocar mediante la actividad InvokeMethod. Esto se debe a que la actividad InvokeMethod registra GenericTypeArguments, TargetObject y Result en CacheMetadata.

El algoritmo para registrar los parámetros en CacheMetadata se muestra en la siguiente lista:

  1. Registre el argumento TargetObject.

  2. Registre el argumento Result.

  3. Recorra en iteración la colección Parameters y registre cada argumento.

La excepción resultante es de tipo InvalidWorkflowException con el siguiente mensaje: 'InvokeMethod': Ya existe una variable, RuntimeArgument o DelegateArgument con el nombre 'TargetObject.' En un ámbito de entorno, los nombres deben ser únicos.

Esta restricción no se aplica a TargetType y RunAsynchronously. No son argumentos de flujo de trabajo y, por tanto, no se registran en la colección GenericTypeArguments de la actividad InvokeMethod en el método CacheMetadata.

Consulte también