すべてが C# です。
多くarray
のフィールドと情報を含む特定のクラスがあります。
その上に単純なルール エンジンを実装したかったのarray
です。たとえば、If object1.name
is something and object2.name
is something and Function(object1.value,object2.value)==True
then ....
Windows Workflow Foundation の使用を開始しましたが、発生した問題は、ルール エンジンobject_type
に動作する特定のものを指定したため、実際にはルールで 2 つの異なるオブジェクトをチェックすることができませんでした。
たとえば、ルール エンジンに作業を指示しtypeof(MY_CLASS)
ます。次に、ルールは次のようになります。「If this.name
is something and (I can't call a different object!) ...」
私は基本的にルールを次のように実行したいと考えthis[i].name
てthis[j].name
います。
物事を明確にするために、これは私がルールエンジン (WF) を設定する方法です:
public class My_Array{文字列名、説明...および多くのフィールド}
Data_Array = 新しい My_Array[N];
RuleSet ruleSet = null;
RuleSetDialog ruleSetDialog = new RuleSetDialog(typeof(My_Array), null, ruleSet);
たとえば、ルールは次のようになります。 if this.name == "Name1" then this.description = "description1"
そして、これが 1 つのオブジェクトに対してルールを実行する方法です。
RuleValidation validation = new RuleValidation(typeof(My_Array), null);
RuleExecution execution = new RuleExecution(validation, Data_Array[0]);
ruleSet.Execute(execution);
したがって、ルールは Data_Array[0] にのみ適用されます。すべての配列に適用するループを実行できますが、一度に 1 つのセルにのみ適用されます。
一度に複数のオブジェクトをチェックするルールを書きたいと思います。たとえば、次のようなルール
です。
しかし問題は、ルール エンジンが一度に 1 つのオブジェクトに対してしか機能しないことです。
どうやってやるの?私が望むことを行うルールを適用しますか?