首页 新闻 搜索 专区 学院

如何扩展枚举

0
悬赏园豆:50 [待解决问题]

框架中有这样一个枚举:

  Enum PersonType

  {

    普通人员,

    管理员

  }

假如某一个客户有一个需求,需要定制添加一个类型:超级管理员,因为PersonType是标准的(很多客户共用),不允许随便添加,只有通过扩展的方式添加,而Enum要怎样扩展呢?请诸位大牛给个方案吧,谢谢了。

C#
纯粹的郭子的主页 纯粹的郭子 | 初学一级 | 园豆:62
提问于:2012-10-24 17:34
< >
分享
所有回答(3)
1

看看这里能否实现你所想的http://blog.csdn.net/chobi_q/article/details/6990216

az235 | 园豆:8283 (大侠五级) | 2012-10-24 20:40

谢谢你提供的资料!

支持(0) 反对(0) 纯粹的郭子 | 园豆:62 (初学一级) | 2012-10-25 11:55
1

值类型是不能作为父类的,所以继承这条线路是不通的

1楼的方法就算可行的话,也是要付出代价的,所以要是能够直接在源代码添加,还是最方便的

chenping2008 | 园豆:9836 (大侠五级) | 2012-10-24 21:43

楼上的网址有用(对枚举扩展不错),却没法解决我的问题。如果没有别的办法就将框架的枚举换做一个HashTable好了,这样可以解决,但是代码的优雅打打折扣啊。

想求一个更加的解决方案。

支持(0) 反对(0) 纯粹的郭子 | 园豆:62 (初学一级) | 2012-10-25 11:58
1

改成部分类吧

心随事迁 | 园豆:306 (菜鸟二级) | 2012-10-25 11:52

您的意思是这样实现吗:

 

partial class PersonType

{

  public static readonly string 普通人员 = “普通人员”;

  public static readonly string 管理员 = “管理员”;

}

 

partial partial class PersonType

{

  public static readonly string 超级管理员 = “超级管理员”;

}

 

支持(0) 反对(0) 纯粹的郭子 | 园豆:62 (初学一级) | 2012-10-25 12:05

@纯粹的郭子: 因为PersonType是标准的(很多客户共用),不允许随便添加

但是现在就是需求的修改就是要这样的,修改这个枚举是最简单有效的。

支持(0) 反对(0) chenping2008 | 园豆:9836 (大侠五级) | 2012-10-25 13:10

@chenping2008: 对 这样是最简单有效的

支持(0) 反对(0) 心随事迁 | 园豆:306 (菜鸟二级) | 2012-10-25 13:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册