框架中有这样一个枚举:
Enum PersonType
{
普通人员,
管理员
}
假如某一个客户有一个需求,需要定制添加一个类型:超级管理员,因为PersonType是标准的(很多客户共用),不允许随便添加,只有通过扩展的方式添加,而Enum要怎样扩展呢?请诸位大牛给个方案吧,谢谢了。
值类型是不能作为父类的,所以继承这条线路是不通的
1楼的方法就算可行的话,也是要付出代价的,所以要是能够直接在源代码添加,还是最方便的
楼上的网址有用(对枚举扩展不错),却没法解决我的问题。如果没有别的办法就将框架的枚举换做一个HashTable好了,这样可以解决,但是代码的优雅打打折扣啊。
想求一个更加的解决方案。
改成部分类吧
您的意思是这样实现吗:
partial class PersonType
{
public static readonly string 普通人员 = “普通人员”;
public static readonly string 管理员 = “管理员”;
}
partial partial class PersonType
{
public static readonly string 超级管理员 = “超级管理员”;
}
@纯粹的郭子: 因为PersonType是标准的(很多客户共用),不允许随便添加
但是现在就是需求的修改就是要这样的,修改这个枚举是最简单有效的。
@chenping2008: 对 这样是最简单有效的