You need to enable JavaScript to run this app. CodeEffects RuleEditor列表存储的枚举值保存规则时不显示如何解决
优惠活动
大模型
产品
解决方案
定价
更多

CodeEffects RuleEditor列表存储的枚举值保存规则时不显示如何解决

解决方案

你遇到的是CodeEffects对枚举类型的泛型列表字段识别异常,导致规则文本渲染时枚举值缺失,按以下步骤操作即可修复:

  • 首先给枚举类型加上CodeEffects官方的枚举特性标记,明确枚举的展示配置:
using CodeEffects.Rule.Attributes;

[EnumType(DisplayName = "食品")]
public enum Food
{
    [EnumValue(DisplayName = "三明治")]
    Sandwich = 0,
    [EnumValue(DisplayName = "苹果")]
    Apple = 1,
    [EnumValue(DisplayName = "香蕉")]
    Banana = 2,
    [EnumValue(DisplayName = "面条")]
    Noodles = 3,
    [EnumValue(DisplayName = "糖果")]
    Candy = 4
}
  • 然后给FavoriteFood属性的Field特性补充ValueType参数,显式指定列表的子项类型为Food枚举:
[Field(DisplayName = "Favorite food", 
    Description = "The patient's favorite food",
    ValueType = typeof(Food))]
public List<Food> FavoriteFood { get; set; }
  • 不要直接使用前端提交的原始规则文本,用CodeEffects后端提供的RuleManager工具类读取你已经存储正常的规则XML来生成标准可读文本,示例代码如下:
// 入参ruleXml为你已存储的有效规则XML字符串
var manager = new RuleManager(typeof(Patient));
var rule = manager.LoadRuleXml(ruleXml);
// 输出的friendlyText即为带完整枚举显示名的规则描述文本
string friendlyText = rule.GetRuleText();
  • 可选配置:如果前端规则编辑器里枚举下拉也显示异常,可在Angular组件初始化配置中添加enumDisplayMode: "Name"参数,确保编辑器优先读取枚举的显示名而非数值。

内容的提问来源于stack exchange,提问作者LAN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 02:39:02