0

すべてが C# です。

多くarrayのフィールドと情報を含む特定のクラスがあります。

その上に単純なルール エンジンを実装したかったのarrayです。たとえば、If object1.nameis something and object2.nameis something and Function(object1.value,object2.value)==Truethen ....

Windows Workflow Foundation の使用を開始しましたが、発生した問題は、ルール エンジンobject_typeに動作する特定のものを指定したため、実際にはルールで 2 つの異なるオブジェクトをチェックすることができませんでした。

たとえば、ルール エンジンに作業を指示しtypeof(MY_CLASS)ます。次に、ルールは次のようになります。「If this.nameis something and (I can't call a different object!) ...」

私は基本的にルールを次のように実行したいと考えthis[i].namethis[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 つのオブジェクトに対してしか機能しないことです。

どうやってやるの?私が望むことを行うルールを適用しますか?

4

2 に答える 2