次の方法で共有


ルール内コレクションの処理

場合によっては、コレクション内のすべての項目に対して個別にルールを評価する必要があることも考えられます。コレクションを反復処理する方法はいくつかありますが、次のようなルール パターンもその 1 つです。

Rule 1 (Priority = 2)  // always execute this rule once to create the enumerator
IF 1==1 
THEN this.enumerator = this.myCollection.GetEnumerator()

Rule 2 (Priority = 1) 
IF this.enumerator.MoveNext()
THEN this.currentInstance = this.enumerator.Current

Rules 3-N (Priority = 0)
.... // Additional rules written against this.currentInstance

Rule N+1 (Priority = -1)
// can be any condition as long as it is evaluated every time;
// this.currentInstance will be evaluated each time this.currentInstance changes, whereas 
// "1==1" would only be evaluated once.
IF this.currentInstance == this.currentInstance  
    
THEN ...
         Update("this/enumerator") //this will cause Rule 2 to be reevaluated
ELSE ...
          Update("this/enumerator")

関連項目

参照

RuleSet

概念

ワークフロー内での RuleSet の使用
RuleSet 内のルール評価

Footer image

Copyright © 2007 by Microsoft Corporation.All rights reserved.