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.

Utilizar el diseñador de actividades InvokeMethod

El diseñador de actividades de InvokeMethod se puede encontrar en la categoría Primitivas del Cuadro de herramientas, al que se tiene acceso al hacer clic en Diseñador de flujo de trabajo de la pestaña Cuadro de herramientas. (De forma alternativa, seleccione Barra de herramientas en el menú Ver o CTRL+ALT+X).

El diseñador de actividades InvokeMethod se puede arrastrar desde el Cuadro de herramientas y colocarlo en la superficie de Diseñador de flujo de trabajo, donde se coloquen normalmente las actividades, como en una clase Sequence. De esta forma, 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 actividades 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 de ellas en la superficie del diseñador Diseñador de flujo de trabajo.

Nombre de la propiedad Obligatorio Uso

DisplayName

False

El nombre descriptivo de la actividad InvokeMethod. El valor predeterminado es InvokeMethod.

Pese a que la propiedad DisplayName no es obligatoria, se recomienda utilizar una.

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 public. Esta propiedad se puede editar en la superficie del diseñador. Es una propiedad 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. En la cuadrícula de propiedades, haga clic en el botón con los puntos suspensivos en el campo Parámetros para que aparezca el cuadro de diálogo Parámetros, donde podrá establecer esta propiedad. 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

El 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 un parámetro out de C# (por ejemplo, Method1(out myParam)), debería utilizar OutArgument en lugar de InOutArgument

Los métodos TargetObject o Result con argumentos llamados 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 ni a RunAsynchronously porque no son los argumentos de flujo de trabajo y por consiguiente, no se registran en la colección GenericTypeArguments de la actividad InvokeMethod en el método CacheMetadata.

Vea también

Conceptos

Diseñador de actividades Assign
Diseñador de actividades Delay
Diseñador de actividades WriteLine

Otros recursos

Diseñadores de actividades de tipos primitivos