And
Supprime les deux premiers éléments de la pile, effectue une opération Boolean AND des deux éléments, puis envoie le résultat sur la pile.
<ic:Operation Name="And" />
Deux premiers éléments de la pile.
Résultat de chaîne de l’opération Boolean AND .
L’opération And est utile lorsque vous devez évaluer plusieurs instructions. L’exemple d’expression de filtre suivant vérifie si le nom de l’activité est « CheckPO » et si l’événement d’activité est fermé à l’aide de l’opération And .
<ic:Filter>
<ic:Expression>
<wf:Operation Name="GetActivityName"/>
<ic:Operation Name="Constant">
<ic:Argument>CheckPO</ic:Argument>
</ic:Operation>
<ic:Operation Name="Equals"/>
<wf:Operation Name="GetActivityEvent"/>
<ic:Operation Name="Constant">
<ic:Argument>Closed</ic:Argument>
</ic:Operation>
<ic:Operation Name="Equals"/>
<ic:Operation Name="And"/>
</ic:Expression>
</ic:Filter>
Dans cet exemple , Et est l’opération finale dans l’expression, car elle s’appuie sur les résultats des comparaisons (et les extrait de la pile pour effectuer la comparaison). Vous pouvez étendre cette idée pour effectuer des opérations Et sur plus de deux éléments. Par exemple, pour évaluer si une condition A, une condition B et une condition C se réalisent, vous utilisez une expression similaire à la suivante :
<ic:Filter>
<ic:Expression>
<wf:Operation Name="GetActivityName"/>
<ic:Operation Name="Constant">
<ic:Argument>CheckPO</ic:Argument>
</ic:Operation>
<ic:Operation Name="Equals"/>
<wf:Operation Name="GetActivityEvent"/>
<ic:Operation Name="Constant">
<ic:Argument>Closed</ic:Argument>
</ic:Operation>
<ic:Operation Name="Equals"/>
<wf:Operation Name="GetActivityType"/>
<ic:Operation Name="Constant">
<ic:Argument>MyType</ic:Argument>
</ic:Operation>
<ic:Operation Name="Equals"/>
<ic:Operation Name="And"/>
<ic:Operation Name="And"/>
</ic:Expression>
</ic:Filter>