我有一个以下结构的枚举:
public enum DType
{
LMS = 0,
DNP = -9,
TSP = -2,
ONM = 5,
DLS = 9,
NDS = 1
}
Run Code Online (Sandbox Code Playgroud)
我正在使用这个枚举来获取名称和值.由于需要添加更多类型,我需要从XML文件中读取类型和值.有没有办法可以从XML文件中动态创建这个枚举,这样我就可以保留程序结构.
大多数项目都有某种数据,这些数据在发行版之间基本上是静态的,非常适合用作枚举,如状态,事务类型,错误代码等.例如,我只使用一个公共状态枚举:
public enum Status {
ACTIVE(10, "Active");
EXPIRED(11, "Expired");
/* other statuses... */
/* constructors, getters, etc. */
}
Run Code Online (Sandbox Code Playgroud)
我想知道其他人在这些数据的持久性方面做了些什么.我看到了一些选项,每个选项都有一些明显的优点和缺点:
我的偏好是第二种选择,虽然我的DBA声称我们的最终用户可能想要访问原始数据来生成报告,而不是持久化状态会导致数据模型不完整(反驳:这可以通过文档解决) .
大多数人在这里使用会议吗?人们对每个人的经历是什么,还有其他选择吗?
编辑:
在考虑了一段时间之后,我真正的持久性斗争来自于处理与数据库中的状态相关联的id值.安装应用程序时,这些值将作为默认数据插入.此时,它们具有可用作其他表中的外键的ID.我觉得我的代码需要知道这些ID,以便我可以轻松检索状态对象并将它们分配给其他对象.我该怎么办?我可以添加另一个字段,比如"代码",查看内容,或者只是按名称查找状态,这是icky.