c# - 有很多枚举值有什么坏处吗? (许多 >= 1000)

标签 c# .net enums integer

我有一个很大的错误消息列表,我的商业代码可以根据输入的内容返回这些消息。该列表最终可能超过一千个。

我想将这些全部列举出来,使用 [Description("")] 属性来记录友好的消息。

类似于:

public enum ErrorMessage
{
     [Description("A first name is required for users.")]
     User_FirstName_Required = 1,
     [Description("The first name is too long.  It cannot exceed 32 characters.")]
     User_FirstName_Length = 2,
     ...
}

我知道枚举是原始类型,特别是整数。这么多整数应该没有问题吧?

有什么我没有想到的吗?看起来这应该没问题,但我想我应该在花时间这样做之前询问社区。

当枚举类型有很多值时,.Net 是否会以不同的方式关心它们?

更新

我不想使用 Resources 的原因是因为

a) 我需要能够用整数值引用每个唯一的错误消息。业务层为 API 提供服务,此外还提供其他服务,并且必须返回一个整数值列表来指示错误。我不相信 Resources 允许您使用整数来处理资源值。我错了吗?

b) 没有本地化要求。

最佳答案

我认为枚举中包含 1,000 多个值的设计需要多加考虑。听起来像是必须为这种情况发明“上帝枚举”反模式。

关于c# - 有很多枚举值有什么坏处吗? (许多 >= 1000),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4064554/

相关文章:

c# - 通知系统 |图书馆 |点对点应用程序框架

Java - 绑定(bind)到特定子类的通用数字方法签名

.net - 如何从类属性中访问 web.config 值?

objective-c - 获取枚举项的总数

c# - 如何将枚举标志与字典键进行比较?

c# - 从字符串中获取矩形边界

c# - 具有多个表的 LinQ 查询和提取数据

c# - 是否可以更改 NSwag 生成的示例值部分的内容?

c# - 使用 Hostable Web Core 的自托管 Web 应用程序

c# - 如何在 Entity Framework 中进行 "in"查询?