Codeeffect规则编辑器仅选择一个动作,即使有多个动作可供选择

问题描述 投票:2回答:1

我要求对我们的功能使用codeeffect规则编辑器。我们有动态动作可在规则编辑器中呈现,用户可以从中进行选择。

为此,我使用FlexSource类型创建了规则编辑器。我尝试通过在规则编辑器中为每个动作添加FlexMethodInfo并为每个动作配置ActionAttributes来配置动作。例如操作是“ SetAmount”,“ SetPercentage”和“ SetQuantity”。

它成功渲染了编辑器,并提供了以上三个选项供您选择。但是,无论我选择哪个选项,都只会选择“ SetAmount”并在规则编辑器中显示它。

Screenshot 1

Screenshot 2

Screenshot 3

Screenshot 4

Screenshot 5

rule-engine business-rules codeeffects
1个回答
0
投票

FlexSource的思想是继承System.Type,以便编辑器可以继续使用反射来枚举方法,属性,字段等。>

为此,必须实现最少数量的类和方法。 Flex演示显示了那些。

但是当前版本缺少FlexMethodInfo.ToString()的替代。

请在您的FlexMethodInfo类中添加以下内容。调整返回值以反映您的实际方法及其签名。编辑器使用ToString()来构建哈希和match方法。它遵循与MethodInfo.ToString()相同的逻辑。

public override string ToString()
{
    switch (methodName)
    {
        case "Concatenate":
            return "System.String Concatenate(System.String, System.String)";
        case "Register":
            return "Register()";
        case "Confirm":
            return "Confirm(System.String)";
        default:
            return base.ToString();
    }
}

请确保获得用于编辑器和引擎的最新NuGet软件包。我相信他们已经发布了解决某些用例的更新。

© www.soinside.com 2019 - 2024. All rights reserved.