[WF] Property ou Argument

Pour qu'une activité expose des propriétés, deux choix s'offrent à nous :

  • Property : Une propriété CLR classique.
  • Argument : Une activité sur laquelle on définit une direction IN, OUT ou IN/OUT.

La raison pour laquelle on doit prendre l'une ou l'autre n'étant pas évidente, voici un petit récapitulatif des situations qui vous feront choisir l'une ou l'autre :

 

1. L'information est fixée lors sur design, elle ne change pas lors de l'exécution

Il faut utiliser alors une property. L'argument devant être exécuté pour fournir sa valeur, vous évitez ainsi d'utiliser inutilement trop des ressources.

 

2. L'information change lors de l'exécution

Si l'information fournie à votre activité doit être le fruit d'un travail préalable, il faut utiliser un InArgument<T> ou un InOutArgument<T>. Seuls les arguments peuvent contenir le fruit d'une Variable<T>. De la même manière, seuls les arguments peuvent interpréter une expression (Vb ou C#) lors de l'exécution.

 

3. L'information doit sortir de votre activité.

Seuls OutArgument<T> ou InOutArgument<T> peuvent sortir des valeurs de votre activité, pour que l'activité hôte de celle-ci puisse les récupérer dans une Variable<T>. On peut toujours envisager d'utiliser des ActivityFunc<T> ou ActivityAction<T>, mais ceci est vicieux et ne facilite pas la compréhension de votre activité par votre collègue (ou client) qui définit les workflows.

 

J'espère que ce petit récapitulatif vous sera utile ;)

Jérémy Jeanson

Comments

You have to be logged in to comment this post.