且
从堆栈中删除前两个项,执行两个项的布尔 值 AND ,然后将结果推送到堆栈上。
<ic:Operation Name="And" />
堆栈最上方的两项。
Boolean AND 操作的字符串结果。
当需要计算多个语句时, And 操作非常有用。 以下示例筛选器表达式检查活动名称是否为“CheckPO”,并使用 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>
在此示例中 ,And 是表达式中的最终操作,因为它依赖于比较 (的结果,并从堆栈中弹出它们来执行比较) 。 可以将此想法扩展到对两个以上的项执行 和 操作。 例如,若要计算条件 A、条件 B 和条件 C 是否都为真,可以使用类似于如下内容的表达式:
<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>