Verarbeiten von Auflistungen in Regeln
In einigen Szenarien müssen Regeln möglicherweise einzeln auf Grundlage aller Elemente in einer Auflistung ausgewertet werden. Zum Durchlaufen der Auflistung stehen verschiedene Möglichkeiten zur Verfügung, beispielsweise folgendes Regelmuster:
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")
Siehe auch
Referenz
Konzepte
Verwenden von RuleSets in Workflows
Regelauswertung in RuleSets
Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.