You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ballerina定义MembershipStatus枚举遇报错,如何正确设置RE-INVITED?

解决枚举成员RE-INVITED的定义错误问题

枚举成员的标识符不能包含减号(-),编译器会把减号识别为减法运算符,尝试对前后的字符做运算,因此抛出“operator '-' not defined for 'string'”的错误。

以下是几种正确的定义方式:

  • 用下划线替换减号(最常用的枚举命名规范):

    public enum MembershipStatus {
        INVITED,
        REGISTERED, 
        DEACTIVATED, 
        RE_INVITED
    }
    
  • 保留内部合法名称,指定对外显示的文本(适用于需要友好展示名称的场景,以C#为例):
    借助特性给枚举成员绑定自定义字符串值,后续可通过反射读取该值用于展示:

    using System.ComponentModel;
    using System.Runtime.Serialization;
    
    public enum MembershipStatus {
        INVITED,
        REGISTERED, 
        DEACTIVATED, 
        [Description("RE-INVITED")]
        [EnumMember(Value = "RE-INVITED")]
        REINVITED
    }
    
  • 采用帕斯卡命名法:
    如果团队命名规范允许,也可以使用首字母大写的驼峰式命名:

    public enum MembershipStatus {
        Invited,
        Registered, 
        Deactivated, 
        ReInvited
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 19:43:11